code: def _get_data(self):
      """
      Get dag info from DAG.
      """
      nodes = self._dag.nodes
      edges = self._dag.edges
      dag_dict = self._dag.dag_dict
      return [
          [
              nodes[k].name
              + "("
              + dag_dict[k]["iter_info"]["type"]
              + ")",
              [
                  i[0] + " (" + i[1].name[0] + ")"
                  for i in edges[nodes[k].in_edges[0]]["data"]
                  if i[0] in nodes[k].inputs
              ],
              [
                  i[0] + " (" + i[1].name[0] + ")"
                  for i in edges[nodes[k].out_edges[0]]["data"]
                  if i[0] in nodes[k].outputs
              ],
              [
                  i[0] + " (" + i[1].name[0] + ")"
                  for i in edges[nodes[k].in_edges[0]]["data"]
              ],
              [
                  i[0] + " (" + i[1].name[0] + ")"
                  for i in edges[nodes[k].out_edges[0]]["data"]
              ],
              None
              if not dag_dict[k]["next_nodes"]
              else [nodes[i].name for i in dag_dict[k]["next_nodes"]],
              dag_dict[k]["iter_info"]["param"],
          ]
          for k in self._dag.top_sort
      ]
  
imports: from tabulate import tabulate
label_desc: Use image node_id 2 for calling the GraphVisualizer obj's underlying member method code with example usage: obj._get_data() and returns: unknown