0

我正在做一个应用数据分析的项目,并试图将点击事件添加到网络 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')
4

1 回答 1

0

您拼错了“交互”,但是您确定包 pyvis 实际上具有“单击”作为交互下的配置选项吗?

从我可以从文档中收集到的信息 pyvis 是 visjs 的包装器,这些是网络下可用的交互配置:https ://visjs.github.io/vis-network/docs/network/interaction.html# I没有看到任何可用的“点击”选项,但也许您可以探索“导航按钮”?

于 2022-01-10T07:09:40.643 回答