首页 > 解决方案 > 使用 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()

在同一个结构上多次运行,我得到不同的结果(每次运行时这些结果都会改变):

在此处输入图像描述

我希望每次都能使用相同的图表,但只更改标签,这样我就可以看到发生了什么。我怎样才能做到这一点?

标签: pythonnetworkx

解决方案


根据docsnx.spring_layout接受一个可选seed参数,该参数允许您播种底层随机数生成器。尝试:

pos = nx.spring_layout(G, seed=1)

推荐阅读