我对网络分析非常陌生,但我已经在Networkx中创建了一个可行的图表,这基本上给了我在大多数情况下所需要的东西。我最近听说了Pyvis,它看起来是一种很好的可视化我的图形的方法。
然而,我确实有一个问题,似乎找不到任何答案: Pyvis只有在我尝试此操作时才呈现一个空的html (我在网上找到了一个例子):
from pyvis.network import Network
import networkx as nx
nx_graph = nx.cycle_graph(10)
nx_graph.nodes[1]['title'] = 'Number 1'
nx_graph.nodes[1]['group'] = 1
nx_graph.nodes[3]['title'] = 'I belong to a different group!'
nx_graph.nodes[3]['group'] = 10
nx_graph.add_node(20, size=20, title='couple', group=2)
nx_graph.add_node(21, size=15, title='couple', group=2)
nx_graph.add_edge(20, 21, weight=5)
nx_graph.add_node(25, size=25, label='lonely', title='lonely node', group=3)
nt = Network('500px', '500px')
# populates the nodes and edges data structures
nt.from_nx(nx_graph)
nt.show('nx.html')我应该得到这个输出:
pyvis图

但我所得到的只是:

额外信息:我使用朱庇特笔记本在生产环境中,没有互联网连接。
(谢谢您的帮助:)
发布于 2022-08-21 16:31:05
我是格拉维斯的作者,这是一个用于网络可视化的package,它使用web技术(HTML/CSS/JS)在浏览器中呈现。根据您的需求,它似乎是一个很好的选择: 1)它支持木星笔记本中的内联绘图;2)它不需要web连接,因为它不从CDN获取任何东西,而是将所有JS代码直接嵌入到输出HTML中。
这里我重复了你的例子:
import gravis as gv
import networkx as nx
g = nx.cycle_graph(10)
g.graph['node_color'] = 'blue'
g.nodes[1]['title'] = 'Number 1'
g.nodes[1]['group'] = 1
g.nodes[3]['title'] = 'I belong to a different group!'
g.nodes[3]['group'] = 10
g.nodes[3]['color'] = 'orange'
g.add_node(20, size=20, title='couple', group=2, color='red')
g.add_node(21, size=15, title='couple', group=2, color='red')
g.add_edge(20, 21, weight=5)
g.add_node(25, size=25, label='lonely', title='lonely node', group=3, color='green')
gv.d3(g)这是在笔记本中使用时的样子,在手动拖动节点以模拟图像中的布局之后。边缘也可以着色,因此黄色边也可以复制,如果需要的话:

https://stackoverflow.com/questions/73218114
复制相似问题