python - Networkx 在图的边缘定位节点
问题描述
我对networkx图很陌生,所以对不起!我正在使用此代码创建加权网络图。哪个完美!但是,我想问是否有办法将所有节点的位置更改为图形的边缘(使用圆形布局),以便更清晰。关于我如何实现这一目标的任何想法?
解决方案
对于共享示例,这种布局对我来说似乎很好。然而,在 Networkx 中,您有多种布局可用于在图中定位节点。根据您的描述,您可能需要一个圆形布局 ( 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()
推荐阅读
- notifications - 显示来自传入 webhook 的数据的问题 | 针叶林 --> Rocketchat
- javascript - 如何通过电子邮件发送屏幕截图?
- types - 如何为包含具有可变引用的函数签名的类型实现 PartialEq?
- python - 如何调用子类的类属性
- node.js - Discord.js ';' 预期的。x2
- python - 逐个循环浏览文件夹中的文件
- java - 如何替换 Java 中的 " 字符?
- python - 如何读取位于项目内不同目录中的文件?
- python - 使用 wget 下载 CSV
- javascript - Google Apps 脚本日历服务:分块处理许多事件:如何以编程方式触发下一个函数运行以继续下一个块?