21

我正在使用 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) 
4

3 回答 3

31

您有两个简单的选择:

提高 DPI

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

(较大的图像文件大小)

另存为 PDF

plt.savefig("graph.pdf")

这是最好的选择,因为最终的图形没有光栅化。理论上,您应该能够无限放大。

于 2012-02-23T02:41:14.303 回答
1

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

于 2014-07-05T17:34:03.947 回答
0

您可能想检查一下:

plt.savefig("name.svg")

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

于 2020-02-20T13:01:40.047 回答