2010-08-25 3 views
10

http://imgur.com/7wiRw.pngКак я могу указать точный размер вывода для моего графика networkx?

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

Я пробовал nx.draw(G, node_size=size), но это только увеличивает размер узлов, а не расстояние между узлами и ребрами.

ответ

4

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

>>> nx.draw(G) 
>>> nx.draw_random(G) 
>>> nx.draw_circular(G) 
>>> nx.draw_spectral(G) 
>>> nx.draw_spring(G) 

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

18

Вы можете попробовать либо небольшие узлы/шрифты, либо большие холсты. Вот как это сделать:

import matplotlib.pyplot as plt 
import networkx as nx 
G = nx.cycle_graph(80) 
pos = nx.circular_layout(G) 
# default 
plt.figure(1) 
nx.draw(G,pos) 
# smaller nodes and fonts 
plt.figure(2) 
nx.draw(G,pos,node_size=60,font_size=8) 
# larger figure size 
plt.figure(3,figsize=(12,12)) 
nx.draw(G,pos) 
plt.show() 

 Смежные вопросы

  • Нет связанных вопросов^_^