Рисуем огромный граф с помощью networkX и matplotlib - PullRequest
17 голосов
/ 23 февраля 2012

Я рисую график с 5K узлами в нем, используя networkX и matplotlib. В окне GTK от matplotlib есть инструменты для увеличения и визуализации графика. Есть ли способ, я могу сохранить увеличенную версию для правильной визуализации позже?

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) 

Ответы [ 2 ]

29 голосов
/ 23 февраля 2012

У вас есть два простых варианта:

до DPI

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

(больший размер файла изображения)

Сохранить как PDF

plt.savefig("graph.pdf")

Это лучший вариант, поскольку окончательный график не растеризован. Теоретически, вы должны иметь возможность увеличивать масштаб изображения до бесконечности.

1 голос
/ 05 июля 2014

Пока вы не в GTK, вы можете проверить NetworkX Viewer .

...