python - 在python中生成网络图

标签 python matplotlib graph networkx

我正在尝试使用 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/

相关文章:

python - 如何对 pandas 数据框进行采样,从组 1 中选择 X 行,但从组 2 中选择 Y 行

python - Matplotlib - 在定性颜色图中选择颜色

perl - 在 Perl 中格式化 GD::Graph x 轴

algorithm - 是否有一种图算法可以找到节点之间的最短路径,并结合要避免的节点?

python - NoReverseMatch 错误,尝试在 Django 中设置详细页面 View

python - 对于a列中的相同值,对b列中的值进行排序并选择前5个

python - Pyquery 抓取一个类名中有空格的类

python - 使用 matplotlib 在网络中设置动态节点形状

python - 是否有任何不是 float 但可以在 MySQL 中接受为 float 的对象?

algorithm - 四叉树 O(N) 的最坏情况复杂度如何?