code: def setUp(self):
      super().setUp()
  
      N = 8
      self.nodes = circular_layout(np.arange(N, dtype=np.int32))
      self.source = np.arange(N, dtype=np.int32)
      self.target = np.zeros(N, dtype=np.int32)
      self.weights = np.random.rand(N)
      self.graph = Graph(((self.source, self.target),))
      self.node_info = Dataset(
          ["Output"] + ["Input"] * (N - 1), vdims=["Label"]
      )
      self.node_info2 = Dataset(self.weights, vdims="Weight")
      self.graph2 = Graph(((self.source, self.target), self.node_info))
      self.graph3 = Graph(((self.source, self.target), self.node_info2))
      self.graph4 = Graph(
          ((self.source, self.target, self.weights),), vdims="Weight"
      )
  
imports: import numpy
  import pytest
  from matplotlib.collections import LineCollection, PolyCollection
  from packaging.version import Version
  from holoviews.core.data import Dataset
  from holoviews.core.options import AbbreviatedException, Cycle
  from holoviews.core.spaces import HoloMap
  from holoviews.element import Chord, Graph, Nodes, TriMesh, circular_layout
  from holoviews.util.transform import dim
  from .test_plot import TestMPLPlot, mpl_renderer
label_desc: Use image node_id 1 for calling the TestMplGraphPlot obj's underlying member method code with example usage: obj.setUp() without return types