networkX.draw() 不产生边缘

networkX.draw() not producing edges

我不确定为什么我的网络图不包含边。

我正在从如下所示的 pandas 数据框创建网络:

我创建的网络如下:

G = nx.from_pandas_edgelist(network_df,
                      edge_attr='weight',
                      source='Source',
                      target='Target',
                      create_using=nx.Graph())

但 nx.draw(G) 生成无边图。

我尝试使用 nx.DigGraph() 但结果是一样的。

非常感谢任何帮助。

你图中的中心“斑点”是许多连接在一起的节点,它们可能确实有边缘,但它们被密集的节点所遮盖。在外围有几个节点通过边连接在一起,但由于绘图算法,它们配对(或更大的集群)再次靠得很近,以至于节点被遮盖了。孤立的节点是孤立的。

最好尝试其他布局。默认值为 spring_layout。这是另一个可能会更好地显示它:

pos = nx.circular_layout(G)
nx.draw(G, pos)

一般来说,networkx 不是为图形可视化而设计的。所以你可能需要看看其他工具,比如 graphviz。