我正在使用bokeh和networkx库绘制交互式图形。我想添加一个按钮,单击该按钮可以在显示和删除孤立的节点(根本没有边缘的节点)之间切换。我正在使用bokeh服务器。我到处搜索答案,发现的所有方法都是在bokeh图上添加某些内容而不是删除它们。隐藏隔离的节点也是可能的。有什么办法吗?
例如:
# test.py
from bokeh.models import Button, Range1d
from bokeh.plotting import curdoc, figure
from bokeh.models.graphs import from_networkx
from bokeh.layouts import row
import networkx as nx
G = nx.Graph()
G.add_nodes_from([1, 2, 3, 4])
G.add_edges_from([(1, 2), (1, 3), (2, 3)]) # 4 is left alone
isolate_nodes = list(nx.isolates(G))
plot = figure(x_range=Range1d(-2, 2), y_range=Range1d(-2, 2),
plot_width=500, plot_height=500)
graph = from_networkx(G, nx.spring_layout, scale=1.8, center=(0, 0))
plot.renderers.append(graph)
btn = Button()
btn.on_click(update)
doc = curdoc()
doc.add_root(row(plot, btn))
def update():
# this is my missing part
我通过以下方式运行此代码:bokeh serve --show test.py
谢谢