You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NetworkX可视化:如何让节点按顺序排列在圆周上?

解决方案

要让节点按数值顺序排列在圆周上并呈现星形效果,你可以用circular_layout代替spiral_layout,并指定节点的排序顺序,完全不需要手动设置位置。

具体实现代码:

g = nx.Graph(edge_generator(5,4))
# 按数值升序排序节点
sorted_nodes = sorted(g.nodes())
# 基于排序后的节点生成圆周布局
pos = nx.circular_layout(g, sorted_nodes)
# 绘制图形
nx.draw(g, with_labels=True, pos=pos)

原理说明:

  • spiral_layout默认按照节点的内部存储顺序(非数值顺序)排列,所以无法保证0、2、4…的有序分布
  • circular_layout支持传入自定义节点顺序,会严格按照你给定的顺序将节点均匀分布在圆周上,你的边连接后自然会形成中间交叉的星形效果

内容的提问来源于stack exchange,提问作者regionalsky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:05:08