def test_graph_op_node_alpha(self):
     edges = [(0, 1), (0, 2)]
     nodes = Nodes([(0, 0, 0, 0.2), (0, 1, 1, 0.6), (1, 1, 2, 1)],
                   vdims='alpha')
     graph = Graph((edges, nodes)).options(node_alpha='alpha')
     with self.assertRaises(Exception):
         mpl_renderer.get_plot(graph)
Beispiel #2
0
 def test_graph_op_node_size(self):
     edges = [(0, 1), (0, 2)]
     nodes = Nodes([(0, 0, 0, 2), (0, 1, 1, 4), (1, 1, 2, 6)], vdims='size')
     graph = Graph((edges, nodes)).options(node_size='size')
     plot = mpl_renderer.get_plot(graph)
     artist = plot.handles['nodes']
     self.assertEqual(artist.get_sizes(), np.array([4, 16, 36]))
Beispiel #3
0
 def test_trimesh_op_node_size(self):
     edges = [(0, 1, 2), (1, 2, 3)]
     nodes = [(-1, -1, 0, 3), (0, 0, 1, 2), (0, 1, 2, 8), (1, 0, 3, 4)]
     trimesh = TriMesh((edges, Nodes(nodes, vdims='size'))).options(node_size='size')
     plot = mpl_renderer.get_plot(trimesh)
     artist = plot.handles['nodes']
     self.assertEqual(artist.get_sizes(), np.array([9, 4, 64, 16]))
Beispiel #4
0
 def test_graph_op_node_linewidth(self):
     edges = [(0, 1), (0, 2)]
     nodes = Nodes([(0, 0, 0, 2), (0, 1, 1, 4), (1, 1, 2, 3.5)], vdims='line_width')
     graph = Graph((edges, nodes)).options(node_linewidth='line_width')
     plot = mpl_renderer.get_plot(graph)
     artist = plot.handles['nodes']
     self.assertEqual(artist.get_linewidths(), [2, 4, 3.5])
Beispiel #5
0
 def test_trimesh_op_node_line_width(self):
     edges = [(0, 1, 2), (1, 2, 3)]
     nodes = [(-1, -1, 0, 0.2), (0, 0, 1, 0.6), (0, 1, 2, 1), (1, 0, 3, 0.3)]
     trimesh = TriMesh((edges, Nodes(nodes, vdims='line_width'))).options(node_linewidth='line_width')
     plot = mpl_renderer.get_plot(trimesh)
     artist = plot.handles['nodes']
     self.assertEqual(artist.get_linewidths(), [0.2, 0.6, 1, 0.3])
Beispiel #6
0
 def test_graph_op_node_color_categorical(self):
     edges = [(0, 1), (0, 2)]
     nodes = Nodes([(0, 0, 0, 'A'), (0, 1, 1, 'B'), (1, 1, 2, 'A')],
                   vdims='color')
     graph = Graph((edges, nodes)).options(node_color='color')
     plot = mpl_renderer.get_plot(graph)
     artist = plot.handles['nodes']
     self.assertEqual(np.asarray(artist.get_array()), np.array([0, 1, 0]))
 def test_trimesh_op_node_alpha(self):
     edges = [(0, 1, 2), (1, 2, 3)]
     nodes = [(-1, -1, 0, 0.2), (0, 0, 1, 0.6), (0, 1, 2, 1),
              (1, 0, 3, 0.3)]
     trimesh = TriMesh(
         (edges, Nodes(nodes, vdims='alpha'))).options(node_alpha='alpha')
     with self.assertRaises(Exception):
         mpl_renderer.get_plot(trimesh)
Beispiel #8
0
 def test_trimesh_op_node_color(self):
     edges = [(0, 1, 2), (1, 2, 3)]
     nodes = [(-1, -1, 0, 'red'), (0, 0, 1, 'green'), (0, 1, 2, 'blue'), (1, 0, 3, 'black')]
     trimesh = TriMesh((edges, Nodes(nodes, vdims='color'))).options(node_color='color')
     plot = mpl_renderer.get_plot(trimesh)
     artist = plot.handles['nodes']
     self.assertEqual(artist.get_facecolors(),
                      np.array([[1, 0, 0, 1], [0, 0.501961, 0, 1], [0, 0, 1, 1], [0, 0, 0, 1]]))
Beispiel #9
0
 def test_trimesh_op_node_color_categorical(self):
     edges = [(0, 1, 2), (1, 2, 3)]
     nodes = [(-1, -1, 0, 'B'), (0, 0, 1, 'C'), (0, 1, 2, 'A'), (1, 0, 3, 'B')]
     trimesh = TriMesh((edges, Nodes(nodes, vdims='color'))).options(node_color='color')
     plot = mpl_renderer.get_plot(trimesh)
     artist = plot.handles['nodes']
     self.assertEqual(np.asarray(artist.get_array()), np.array([0, 1, 2, 0]))
     self.assertEqual(artist.get_clim(), (0, 2))
Beispiel #10
0
 def test_trimesh_op_edge_color_linear_mean_node(self):
     edges = [(0, 1, 2), (1, 2, 3)]
     nodes = [(-1, -1, 0, 2), (0, 0, 1, 1), (0, 1, 2, 3), (1, 0, 3, 4)]
     trimesh = TriMesh((edges, Nodes(nodes, vdims='color'))).options(edge_color='color')
     plot = mpl_renderer.get_plot(trimesh)
     artist = plot.handles['edges']
     self.assertEqual(artist.get_array(), np.array([2, 8/3.]))
     self.assertEqual(artist.get_clim(), (1, 4))
Beispiel #11
0
 def get_graph(i):
     c1, c2, c3 = {
         0: ('#00FF00', '#0000FF', '#FF0000'),
         1: ('#FF0000', '#00FF00', '#0000FF')
     }[i]
     nodes = Nodes([(0, 0, 0, c1), (0, 1, 1, c2), (1, 1, 2, c3)],
                   vdims='color')
     return Graph((edges, nodes))
Beispiel #12
0
 def test_trimesh_op_node_line_width(self):
     edges = [(0, 1, 2), (1, 2, 3)]
     nodes = [(-1, -1, 0, 0.2), (0, 0, 1, 0.6), (0, 1, 2, 1), (1, 0, 3, 0.3)]
     trimesh = TriMesh((edges, Nodes(nodes, vdims='line_width'))).options(node_line_width='line_width')
     plot = bokeh_renderer.get_plot(trimesh)
     cds = plot.handles['scatter_1_source']
     glyph = plot.handles['scatter_1_glyph']
     self.assertEqual(glyph.line_width, {'field': 'node_line_width'})
     self.assertEqual(cds.data['node_line_width'], np.array([0.2, 0.6, 1, 0.3]))
Beispiel #13
0
 def test_trimesh_op_node_size(self):
     edges = [(0, 1, 2), (1, 2, 3)]
     nodes = [(-1, -1, 0, 3), (0, 0, 1, 2), (0, 1, 2, 8), (1, 0, 3, 4)]
     trimesh = TriMesh((edges, Nodes(nodes, vdims='size'))).options(node_size='size')
     plot = bokeh_renderer.get_plot(trimesh)
     cds = plot.handles['scatter_1_source']
     glyph = plot.handles['scatter_1_glyph']
     self.assertEqual(glyph.size, {'field': 'node_size'})
     self.assertEqual(cds.data['node_size'], np.array([3, 2, 8, 4]))
Beispiel #14
0
 def test_graph_op_node_line_width(self):
     edges = [(0, 1), (0, 2)]
     nodes = Nodes([(0, 0, 0, 2), (0, 1, 1, 4), (1, 1, 2, 6)], vdims='line_width')
     graph = Graph((edges, nodes)).options(node_line_width='line_width')
     plot = bokeh_renderer.get_plot(graph)
     cds = plot.handles['scatter_1_source']
     glyph = plot.handles['scatter_1_glyph']
     self.assertEqual(glyph.line_width, {'field': 'node_line_width'})
     self.assertEqual(cds.data['node_line_width'], np.array([2, 4, 6]))
Beispiel #15
0
 def test_graph_op_node_color_linear(self):
     edges = [(0, 1), (0, 2)]
     nodes = Nodes([(0, 0, 0, 0.5), (0, 1, 1, 1.5), (1, 1, 2, 2.5)],
                   vdims='color')
     graph = Graph((edges, nodes)).options(node_color='color')
     plot = mpl_renderer.get_plot(graph)
     artist = plot.handles['nodes']
     self.assertEqual(np.asarray(artist.get_array()), np.array([0.5, 1.5, 2.5]))
     self.assertEqual(artist.get_clim(), (0.5, 2.5))
Beispiel #16
0
 def test_graph_op_node_color(self):
     edges = [(0, 1), (0, 2)]
     nodes = Nodes([(0, 0, 0, '#000000'), (0, 1, 1, '#FF0000'), (1, 1, 2, '#00FF00')],
                   vdims='color')
     graph = Graph((edges, nodes)).options(node_color='color')
     plot = mpl_renderer.get_plot(graph)
     artist = plot.handles['nodes']
     self.assertEqual(artist.get_facecolors(),
                      np.array([[0, 0, 0, 1], [1, 0, 0, 1], [0, 1, 0, 1]]))
Beispiel #17
0
 def test_trimesh_op_node_color(self):
     edges = [(0, 1, 2), (1, 2, 3)]
     nodes = [(-1, -1, 0, 'red'), (0, 0, 1, 'green'), (0, 1, 2, 'blue'), (1, 0, 3, 'black')]
     trimesh = TriMesh((edges, Nodes(nodes, vdims='color'))).options(node_color='color')
     plot = bokeh_renderer.get_plot(trimesh)
     cds = plot.handles['scatter_1_source']
     glyph = plot.handles['scatter_1_glyph']
     self.assertEqual(glyph.fill_color, {'field': 'node_color'})
     self.assertEqual(glyph.line_color, 'black')
     self.assertEqual(cds.data['node_color'], np.array(['red', 'green', 'blue', 'black']))
Beispiel #18
0
 def test_graph_op_node_alpha(self):
     edges = [(0, 1), (0, 2)]
     nodes = Nodes([(0, 0, 0, 0.2), (0, 1, 1, 0.6), (1, 1, 2, 1)], vdims='alpha')
     graph = Graph((edges, nodes)).options(node_alpha='alpha')
     plot = bokeh_renderer.get_plot(graph)
     cds = plot.handles['scatter_1_source']
     glyph = plot.handles['scatter_1_glyph']
     self.assertEqual(glyph.fill_alpha, {'field': 'node_alpha'})
     self.assertEqual(glyph.line_alpha, {'field': 'node_alpha'})
     self.assertEqual(cds.data['node_alpha'], np.array([0.2, 0.6, 1]))
Beispiel #19
0
 def test_graph_op_node_color(self):
     edges = [(0, 1), (0, 2)]
     nodes = Nodes([(0, 0, 0, 'red'), (0, 1, 1, 'green'), (1, 1, 2, 'blue')],
                   vdims='color')
     graph = Graph((edges, nodes)).options(node_color='color')
     plot = bokeh_renderer.get_plot(graph)
     cds = plot.handles['scatter_1_source']
     glyph = plot.handles['scatter_1_glyph']
     self.assertEqual(glyph.fill_color, {'field': 'node_color'})
     self.assertEqual(glyph.line_color, 'black')
     self.assertEqual(cds.data['node_color'], np.array(['red', 'green', 'blue']))
Beispiel #20
0
 def test_trimesh_op_node_color_categorical(self):
     edges = [(0, 1, 2), (1, 2, 3)]
     nodes = [(-1, -1, 0, 'B'), (0, 0, 1, 'C'), (0, 1, 2, 'A'), (1, 0, 3, 'B')]
     trimesh = TriMesh((edges, Nodes(nodes, vdims='color'))).options(node_color='color')
     plot = bokeh_renderer.get_plot(trimesh)
     cds = plot.handles['scatter_1_source']
     glyph = plot.handles['scatter_1_glyph']
     cmapper = plot.handles['node_color_color_mapper']
     self.assertEqual(glyph.fill_color, {'field': 'node_color', 'transform': cmapper})
     self.assertEqual(glyph.line_color, 'black')
     self.assertEqual(cds.data['node_color'], np.array(['B', 'C', 'A', 'B']))
Beispiel #21
0
 def test_graph_op_node_color_categorical(self):
     edges = [(0, 1), (0, 2)]
     nodes = Nodes([(0, 0, 0, 'A'), (0, 1, 1, 'B'), (1, 1, 2, 'C')],
                   vdims='color')
     graph = Graph((edges, nodes)).options(node_color='color')
     plot = bokeh_renderer.get_plot(graph)
     cds = plot.handles['scatter_1_source']
     glyph = plot.handles['scatter_1_glyph']
     cmapper = plot.handles['node_color_color_mapper']
     self.assertEqual(glyph.fill_color, {'field': 'node_color', 'transform': cmapper})
     self.assertEqual(glyph.line_color, 'black')
     self.assertEqual(cds.data['node_color'], np.array(['A', 'B', 'C']))
Beispiel #22
0
 def test_trimesh_op_edge_color_linear_mean_node(self):
     edges = [(0, 1, 2), (1, 2, 3)]
     nodes = [(-1, -1, 0, 2), (0, 0, 1, 1), (0, 1, 2, 3), (1, 0, 3, 4)]
     trimesh = TriMesh((edges, Nodes(nodes, vdims='color'))).options(edge_color='color')
     plot = bokeh_renderer.get_plot(trimesh)
     cds = plot.handles['multi_line_1_source']
     glyph = plot.handles['multi_line_1_glyph']
     cmapper = plot.handles['edge_color_color_mapper']
     self.assertEqual(glyph.line_color, {'field': 'edge_color', 'transform': cmapper})
     self.assertEqual(cds.data['edge_color'], np.array([2, 8/3.]))
     self.assertEqual(cmapper.low, 1)
     self.assertEqual(cmapper.high, 4)
Beispiel #23
0
    def test_graph_op_node_alpha(self):
        import matplotlib as mpl
        edges = [(0, 1), (0, 2)]
        nodes = Nodes([(0, 0, 0, 0.2), (0, 1, 1, 0.6), (1, 1, 2, 1)],
                      vdims='alpha')
        graph = Graph((edges, nodes)).options(node_alpha='alpha')

        if LooseVersion(mpl.__version__) < LooseVersion("3.4.0"):
            # Python 3.6 only support up to matplotlib 3.3
            with self.assertRaises(Exception):
                mpl_renderer.get_plot(graph)
        else:
            plot = mpl_renderer.get_plot(graph)
            artist = plot.handles['nodes']
            self.assertEqual(artist.get_alpha(), np.array([0.2, 0.6, 1]))
Beispiel #24
0
    def test_trimesh_op_node_alpha(self):
        import matplotlib as mpl

        edges = [(0, 1, 2), (1, 2, 3)]
        nodes = [(-1, -1, 0, 0.2), (0, 0, 1, 0.6), (0, 1, 2, 1),
                 (1, 0, 3, 0.3)]
        trimesh = TriMesh(
            (edges, Nodes(nodes, vdims='alpha'))).options(node_alpha='alpha')

        if LooseVersion(mpl.__version__) < LooseVersion("3.4.0"):
            # Python 3.6 only support up to matplotlib 3.3
            with self.assertRaises(Exception):
                mpl_renderer.get_plot(trimesh)
        else:
            plot = mpl_renderer.get_plot(trimesh)
            artist = plot.handles['nodes']
            self.assertEqual(artist.get_alpha(), np.array([0.2, 0.6, 1, 0.3]))
Beispiel #25
0
 def get_graph(i):
     c1, c2, c3 = {0: (2, 4, 6),
                   1: (12, 3, 5)}[i]
     nodes = Nodes([(0, 0, 0, c1), (0, 1, 1, c2), (1, 1, 2, c3)],
               vdims='line_width')
     return Graph((edges, nodes))
Beispiel #26
0
 def get_graph(i):
     c1, c2, c3 = {0: (0.5, 1.5, 2.5),
                   1: (3, 2, 1)}[i]
     nodes = Nodes([(0, 0, 0, c1), (0, 1, 1, c2), (1, 1, 2, c3)],
               vdims='color')
     return Graph((edges, nodes))