python - 使用 networkx 创建确定性图
问题描述
我使用以下代码创建了一个 networkx 静态图:
G = nx.Graph()
G.add_edges_from(edges)
pos=nx.spring_layout(G)
nx.draw_networkx_nodes(G,pos,node_size=6000, cmap="jet")
nx.draw_networkx_labels(G, pos, labels, font_size=11)
nx.draw_networkx_edges(G, pos, edge_color='b', alpha = 1, arrows=True)
plt.show()
在同一个结构上多次运行,我得到不同的结果(每次运行时这些结果都会改变):
我希望每次都能使用相同的图表,但只更改标签,这样我就可以看到发生了什么。我怎样才能做到这一点?
解决方案
根据docs,nx.spring_layout
接受一个可选seed
参数,该参数允许您播种底层随机数生成器。尝试:
pos = nx.spring_layout(G, seed=1)
推荐阅读
- image - 无法从用 Flutter 编写的 Web 应用程序下载图像
- powershell - 试图通过 Powershell 打印一个目录
- xcode12 - 项目未在 Xcode 12.5 中运行
- javascript - React:如何将函数内部的数组传递给返回(JSX)
- google-play - 亚马逊相当于 Google Play 的“测试卡,总是拒绝”
- javascript - 平滑缩放画布
- vue.js - 在 web 哈希历史模式下使用 Vue 预渲染插件和 Vue Router
- android - OpenCV Android Studio 模块导入问题
- c++ - Clang ASTContext::mergeTypes 函数的用途?复合类型?
- redux - 如何从 redux 迁移到 redux 工具包