python中大矩阵的稀疏表示

python中大矩阵的稀疏表示,python,sparse-matrix,Python,Sparse Matrix,我正试图用python绘制相关的的邻接矩阵。结果应该是这样的。我的第一次尝试是使用密集表示,如下所示: import matplotlib.pyplot as plt import re n=685230 matrix = [[0 for i in range(0,n)] for j in range(0,n)] with open("web-BerkStan.txt", "r") as infile: for line in infile: li=line.stri

我正试图用python绘制相关的的邻接矩阵。结果应该是这样的。我的第一次尝试是使用密集表示,如下所示:

import matplotlib.pyplot as plt
import re

n=685230
matrix = [[0 for i in range(0,n)] for j in range(0,n)]

with open("web-BerkStan.txt", "r") as infile:
    for line in infile:
        li=line.strip()
        if not li.startswith("#"):
            i,j = re.split(r'\t+', li)
            matrix[int(i)][int(j)] = 1


f = plt.figure()

plt.imshow(matrix, cmap='binary', interpolation='nearest')
plt.show()

f.savefig('graph.pdf', bbox_inches='tight')
该代码适用于,例如,
n=10
,但考虑到
n=685230
,该代码不适用于我正在考虑的web图形的大小

或者,我尝试用坐标格式替换密集表示:

matrix = []
with open("web-BerkStan.txt", "r") as infile:
    for line in infile:
        li=line.strip()
        if not li.startswith("#"):
            i,j = re.split(r'\t+', li)
            matrix.append([int(i),int(j)])

其中
矩阵
现在是一个边缘列表。如何将边缘列表绘制为稀疏矩阵?

您是否尝试过使用
networkx
python包?相关。是的,我一直在尝试遵循这一点,但我不清楚如何在
networkx
中从边缘列表开始定义图形。此外,在指南中,他们似乎明确定义了一个邻接矩阵,它可能太大而无法存储。