I am building a Panel app that is focused around a network graphs. I want to to select a node, which should initiate some computation and finally display result on a different panel pane.
Simplified prototype:
- interactive plot displaying a network graph (hv.Graph)
- hv.pane.Str to display index (indices?) of selected nodes
I started from the accepted answer here by ( philippjfr) and wrote the following code:
import hvplot.networkx as hvnx
import panel as pn
import numpy as np
import networkx as nx
import holoviews as hv
pn.extension()
np.random.seed(1)
G = nx.petersen_graph()
spring = hvnx.draw(G, with_labels=False)
stream_selection = hv.streams.Selection1D(source=spring.nodes)
@pn.depends(stream_selection.param.index)
def selection(index):
return pn.pane.Str(f'Selected at {index}', width=200)
app = pn.Row(
spring,
selection
)
app
But this does not work… When I select a node – stream is not updated
Can someone advise whether I am doing anything wrong and how to achieve what I want?