使用networkX和matplotlib绘制一个巨大的图形

时间:2012-02-22 20:15:47

标签: python graph matplotlib networkx

我正在使用networkX和matplotlib绘制一个大约5K节点的图形。 matplotlib的GTK窗口具有缩放和可视化图形的工具。 有什么办法,我可以保存一个放大版本以便以后进行适当的可视化吗?

import matplotlib.pyplot as plt
import networkx as nx

pos=nx.spring_layout(G)   #G is my graph

nx.draw(G,pos,node_color='#A0CBE2',edge_color='#BB0000',width=2,edge_cmap=plt.cm.Blues,with_labels=True)
#plt.show()
plt.savefig("graph.png", dpi=500, facecolor='w', edgecolor='w',orientation='portrait', papertype=None, format=None,transparent=False, bbox_inches=None, pad_inches=0.1) 

3 个答案:

答案 0 :(得分:29)

您有两个简单的选择:

上传DPI

plt.savefig("graph.png", dpi=1000)

(图像文件较大)

另存为PDF

plt.savefig("graph.pdf")

这是最佳选择,因为最终图形不是栅格化的。从理论上讲,你应该能够无限放大。

答案 1 :(得分:1)

虽然不在GTK中,但您可能需要查看NetworkX Viewer

答案 2 :(得分:1)

您可能想检查一下:

plt.savefig("name.svg")

质量很棒。尽管dpi选项仍然有效。