web-dev-qa-db-ja.com

networkxグラフの正確な出力サイズを指定するにはどうすればよいですか?

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

上記は私の現在のグラフの出力です。しかし、私は自分が達成しようとしていることをまだ管理していません。各ノード/エッジを簡単に表示できるように、グラフをより大きなサイズで出力する必要があります。

nx.draw(G, node_size=size)を試しましたが、ノードとエッジの間の距離ではなく、ノードのサイズが大きくなるだけです。

25
user428370

小さいノード/フォントまたは大きいキャンバスのいずれかを試すことができます。両方を行う方法は次のとおりです。

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()
50
Aric

ネットワークレイアウトが「乱雑」すぎるように思われるため、さまざまなグラフレイアウトアルゴリズムを試して、どれが最適かを確認することをお勧めします。

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

また、ノードが多すぎる場合(たとえば、数千)、グラフの視覚化が問題になる可能性があります。

10
thetarro