图边缘的Networkx位置节点

时间:2020-09-15 10:05:51

标签: python matplotlib networkx

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

1 个答案:

答案 0 :(得分:0)

对于共享示例,此布局对我来说似乎不错。但是,在Networkx中,您可以使用several layouts来定位图中的节点。根据您的描述,您似乎希望采用圆形布局(nx.circular_layout),使节点位于图的 edges 上:

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()

enter image description here