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)
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]))
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]))
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])
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])
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)
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]]))
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))
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))
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))
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]))
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]))
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]))
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))
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]]))
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']))
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]))
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']))
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']))
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']))
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)
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]))
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]))
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))
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))