【问题标题】:Networkx position nodes at graph's edgesNetworkx 在图的边缘定位节点
【发布时间】:2021-01-02 01:50:25
【问题描述】:

我对networkx图很陌生,请原谅! 我正在使用这个code 创建一个加权网络图。哪个完美!但是,我想问是否有办法将所有节点的位置更改为图形的边缘(使用圆形布局),以便更清晰。关于我如何实现这一目标的任何想法?

【问题讨论】:

  • 边缘是什么意思?像圆形布局?为什么这个布局不清晰?
  • 是的,采用圆形布局。不清楚,因为我有很多节点

标签: python matplotlib networkx


【解决方案1】:

对于共享的示例,这种布局对我来说似乎很好。然而,在 Networkx 中,您有 several layouts 可用于在图中定位节点。根据您的描述,您可能希望使用圆形布局 (nx.circular_layout) 将节点放在图表的 上:

plt.figure(figsize=(10,6))

pos = nx.circular_layout(G)  # positions for all nodes
# nodes
nx.draw_networkx_nodes(G, pos, node_size=700)
# edges
nx.draw_networkx_edges(G, pos, edgelist=elarge, width=6)
nx.draw_networkx_edges(
    G, pos, edgelist=esmall, width=6, alpha=0.5, edge_color="b", style="dashed"
)
# labels
nx.draw_networkx_labels(G, pos, font_size=20, font_family="sans-serif")

plt.axis("off")
plt.show()

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多