我正在做一个应用数据分析的项目,并试图将点击事件添加到网络 G 中的一些精确节点。我发现了一些关于这个主题的糟糕文档,并试图在我的代码中实现这一点。下面是一个简化的示例,试图让节点 1 在通过读取为选项或交互的 json 文件单击它时打开一个维基百科页面。url 会自动打开,甚至无需单击节点,单击节点不会执行任何操作。似乎 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')