通过单击按钮来删除bokeh服务器图中的孤立节点

时间:2018-12-29 13:55:12

标签: python networkx bokeh

我正在使用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

谢谢

0 个答案:

没有答案