我的代码中有2个函数
def drawNetwork(plantname, data):
def drawBokehGraph(networkxgraph):
第一个基于csv文件中的数据和给定的工厂名称制作NetworkX图。数据是熊猫数据框。当您从上层函数传递networkxgraph时,第二个将bokeh中的图形绘制到html文件中。在这个散景图上方,我得到了text_input小部件,用户可以在其中编写他想在下面的图上显示的植物。我的困难在于使用此文本输入小部件。我在互联网上找不到太多有关它的信息。我如何根据此文本输入小部件上键入的内容切换此散景图(假设该工厂存在于csv文件中)。我很难掌握回调和customJS。 看起来像这样:
以下是散景图的一些代码:
def drawBokehGraph(networkxgraph):
plot = figure(title="Plants", x_range=(-1.1,1.1), y_range=(-1.1,1.1),
tools="",toolbar_location=None)
node_hover_tool = HoverTool(tooltips=[("Plant name:", "@index")])
plot.add_tools(node_hover_tool, TapTool(), BoxSelectTool())
graph_renderer = from_networkx(networkxgraph, nx.circular_layout, scale=1, center=(0,0))
graph_renderer.node_renderer.glyph = Circle(size=15, fill_color=Spectral4[0])
graph_renderer.node_renderer.selection_glyph = Circle(size=15, fill_color=Spectral4[2])
graph_renderer.node_renderer.hover_glyph = Circle(size=15, fill_color=Spectral4[1])
graph_renderer.edge_renderer.glyph = MultiLine(line_color="#CCCCCC", line_alpha=0.8, line_width=5)
graph_renderer.edge_renderer.selection_glyph = MultiLine(line_color=Spectral4[2], line_width=5)
graph_renderer.edge_renderer.hover_glyph = MultiLine(line_color=Spectral4[1], line_width=5)
graph_renderer.selection_policy = NodesAndLinkedEdges()
graph_renderer.inspection_policy = NodesAndLinkedEdges()
plot.renderers.append(graph_renderer)
output_file("networkx_graph.html")