我正在尝试使用来自文件的python使用networkx为200多个节点和300多个边缘生成网络图。我能够在我的Juypter笔记本中使用matplotlib生成并绘制图形,但它看起来不太好,节点包装得非常紧密。
是否有任何其他python包有助于生成网络图???
我的目标是为整个数据集生成图表,以便我可以找到节点之间的依赖关系。
答案 0 :(得分:2)
如果节点距离太近,请尝试使用networkx的draw_spring()
功能。
https://networkx.github.io/documentation/networkx-2.0/reference/generated/networkx.drawing.nx_pylab.draw_spring.html#networkx.drawing.nx_pylab.draw_spring
它模拟了如果每个边缘都是弹簧并且网络被拾取并旋转,将节点分开,尤其是那些没有通过许多路径连接的节点时会发生什么。
如果这在最初不起作用,您可以使用draw_spring()
包装的函数的参数,spring_layout()
函数。尝试调整k值参数。这应该允许您操纵节点之间的粗略距离。
https://networkx.github.io/documentation/networkx-2.0/reference/generated/networkx.drawing.layout.spring_layout.html#networkx.drawing.layout.spring_layout
或者,您可能会发现其他绘图函数比draw_spring()
更有用。您可以在此处的绘图部分找到它们:https://networkx.github.io/documentation/networkx-2.0/reference/drawing.html
答案 1 :(得分:0)
我可以建议使用Netwulf。将{em> networkx.Graph 对象输入到netwulf.visualize
,然后在新的浏览器窗口中启动可视化。结果和数据可以发布回Python。
免责声明:我是Netwulf的合著者。