我正在开发一个应用数据分析项目,并试图将点击事件添加到网络 G 中的某些精确节点。我发现了一些关于该主题的糟糕文档,并尝试在我的代码中实现这一点。下面是一个简化的示例,尝试让节点 1 在通过读取为选项或交互的 json 文件单击时打开维基百科页面。 url 会自动打开,甚至无需单击节点,单击 n 节点不会执行任何操作。看来 Jupyter 只是忽略了我的“交互”和“单击”层次结构。我被困住了,请求你的帮助!非常感谢!
import webbrowser
import pyvis
from pyvis import network
from pyvis.network import Network
name = 'Freddie Mercury'
url = "https://en.wikipedia.org/wiki/"+name
def display_page(url):
webbrowser.open_new(url)
G = Network(height='400px', width='80%', bgcolor='white', notebook=True, font_color ='black')
G.add_node(1)
G.add_node(2)
G.add_edges([(1,2,4)])
options = {
"nodes":{
"font":{
"size": 50,
"bold":True
}
},
"edges":{
"color":'red',
"smooth":False
},
"physics":{
"barnesHut":{
"gravitationalConstant":-500000,
"centralGravity":12,
"springLength": 50,
"springConstant": 0.7,
"damping": 3,
"avoidOverlap": 10
}
},
"intercation":{
"click":{
"nodes": ["1"],
"event":[display_page(url)]
}}}
G.options=options
network.Network.show(G,'networkx_click_event.html')
最佳答案
您拼错了“interaction”,但您确定 pyvis 包实际上在交互下有“click”作为配置选项吗?
据我从文档中收集到的信息,pyvis 是 visjs 的包装器,这些是网络下可用的交互配置:https://visjs.github.io/vis-network/docs/network/interaction.html# 我没有看到任何可用的“点击”选项,但也许您可以探索“导航按钮”?
关于json - 在 jupyter lab 上使用 pyvis 在网络节点上单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70356414/