使用 Networkx 可视化大图

Ami*_*mir 4 python graph networkx

我有一个节点1、节点2 形式的数据集,想要使用网络来构建图表。这是一个相当大的数据集,导致图具有 500k 个节点

import pandas as pd
import numpy as np
import networkx as nx

df = pd.read_csv('large.csv')
G=nx.from_pandas_edgelist(df, 'node1','node2')
Run Code Online (Sandbox Code Playgroud)

这部分代码运行速度非常快,将数据帧转换为图形。然后我尝试应用弹簧布局:

pos = nx.spring_layout(G)
Run Code Online (Sandbox Code Playgroud)

这部分代码需要很长时间。如果我尝试不同的布局,如circular_layout或shell_layout,它会非常快,但布局与我的图表相符。

对于这么大的图,有没有更好的方法来应用 spring_layout ?

Spa*_*y05 6

对于那么大的图,我不建议用于networkx此类大图的可视化。替代方案是graphvizGephi。查看以下相关问题列表: