Как я могу указать точный размер вывода для графа networkx? - PullRequest
15 голосов
/ 25 августа 2010

http://imgur.com/7wiRw.png

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

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

Ответы [ 2 ]

34 голосов
/ 05 декабря 2011

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

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()
9 голосов
/ 24 сентября 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...