我正在使用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)
答案 0 :(得分:29)
您有两个简单的选择:
plt.savefig("graph.png", dpi=1000)
(图像文件较大)
plt.savefig("graph.pdf")
这是最佳选择,因为最终图形不是栅格化的。从理论上讲,你应该能够无限放大。
答案 1 :(得分:1)
虽然不在GTK中,但您可能需要查看NetworkX Viewer。
答案 2 :(得分:1)
您可能想检查一下:
plt.savefig("name.svg")
质量很棒。尽管dpi选项仍然有效。