我在python和
networkx中有很大的图形可视化问题。图形希望可视化是有针对性的,并且具有215,000的边缘和顶点集大小从文档(在顶部链接),显然networkx支持绘图与matplotlib和GraphViz。在matplotlib和networkx中,绘图如下:
import
networkx as nx
import matplotlib.pyplot as plt
#Let g be a graph that I created
nx.draw(g)
在nx.draw(g)之后,我会收到一个内存错误,之后你通常会使用plt.show()或者plt。[some_function]来保存文件的格式,以便有效等等。
接下来我尝试了GraphViz。从wikipedia page起,点格式用于有向图,我创建了一个点文件:
nx.write_dot(g, "g.dot")
这个效果很好,我目前的目录里有一个12兆字节的点文件。接下来,我运行点程序(graphviz的一部分来创建一个postscript文件):
dot -Tps g.dot -o g.ps
这会减慢我的电脑,运行几分钟,然后在终端显示杀死。所以它永远不会执行…在阅读graphviz的文档时,似乎只有无向图支持大图形可视化。
题:
有了这两个不成功的尝试,任何人都可以告诉我如何使用python和networkx可视化我的大图,大约215,000个顶点和215,000边缘?我怀疑与Graphviz我将不得不输出一个中间格式(虽然这不应该那么难,它不会像内置函数那么容易),然后使用另一个工具来读取中间格式,然后输出一个可视化。
所以,我正在寻找以下内容:
>从networkx到中间格式的输出图
>使用新的软件包/软件/工具(理想的python-interactive)读取中间格式,并可视化大图
如果您需要更多信息让我知道!