我有一个数据集,它是一个代表网络的 csv/txt 文件。文件中的每一行包含两个用逗号分隔的节点名称。我的数据文件联系了大约 330k 个节点和大约 550k 个边。我正在尝试使用以下代码创建一个非常基本的图表(是的,我知道它会非常混乱):
import networkx as nx
import matplotlib.pyplot as plt
import sys
import numpy as np
f = open('dataFile.txt', 'rb')
G = nx.read_edgelist(f, delimiter=',', nodetype=str)
f.close()
print(nx.number_of_nodes(G))
print(nx.number_of_edges(G))
plt.figure(1)
nx.draw(G)
plt.savefig("graph.pdf")
我在 AWS EC2 m4.4xlarge 实例上运行它,它与 100% 的 CPU 和只有 1% 的内存挂钩。
我对此持怀疑态度,因为我认为 networkx 是内存密集型的,而不是 CPU 占用。现在,它正在运行 nx.draw 命令。有什么方法可以监控它的图形生成有多远?