Удалить изолированные узлы на графике сервера Bokeh, нажав кнопку - PullRequest
0 голосов
/ 29 декабря 2018

Я использую библиотеки bokeh и networkx для построения интерактивного графика.Я хотел бы добавить кнопку, нажимая на нее, чтобы переключаться между показом и удалением изолированных узлов (узлов без ребер вообще).Я использую сервер 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

Спасибо

...