我正在尝试使用 python 从文件中使用 networkx 生成 200 多个节点和 300 多个边的网络图。我能够在 Juypter Notebook 中使用 matplotlib 生成并绘制图表,但它看起来不太好,而且节点排列得非常紧密。
还有其他Python包可以帮助生成网络图吗??
我的目标是为整个数据集生成图表,以便我可以找到节点之间的依赖关系。
最佳答案
如果问题在于节点距离太近,请尝试使用 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
它模拟了如果每条边都是 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
关于python - 在python中生成网络图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47579442/