В следующем сценарии я беру примерную сеть из Netowrkx, связываю атрибут с краями и рисую его в боке. Как связать флажок с обратным вызовом Custom JS, чтобы отображались только края выбранных типов (интерактивно)?
import networkx as nx
import numpy as np
from bokeh.io import output_file, show
from bokeh.plotting import figure, from_networkx
from bokeh.layouts import row
from bokeh.models.widgets import CheckboxGroup
from bokeh.models import MultiLine
from bokeh.palettes import Spectral4
G = nx.karate_club_graph()
plot = figure(title="Attempting to show selected edges", x_range=(-1.1,1.1), y_range=(-1.1,1.1),
tools="", toolbar_location=None)
graph = from_networkx(G, nx.spring_layout, scale=1, center=(0,0))
plot.renderers.append(graph)
# create random property
properties = ['Type1', 'Type2', 'Type3']
nedge = G.number_of_edges()
nx.set_edge_attributes(G, np.random.choice(properties, size=nedge), 'type')
output_file("networkx_graph.html")
checkbox_button_group = CheckboxGroup(labels=properties, active=[])
show(row(plot, checkbox_button_group))