21

I am drawing a graph with around 5K nodes in it using networkX and matplotlib. The GTK window by matplotlib has tools to zoom and visualise the graph. Is there any way, I can save a magnified version for proper visualisation later?

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

2 つの簡単なオプションがあります。

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 に答える