2017-02-17 5 views
0

私はgraphxを使って同じグラフの複数の図を描画しています。数字は、スライドショーの連続スライドに含まれています。networkx:一貫したノード配置を持つ複数の数字

各図のノードを各図の同じ位置に正確に表示します。残念ながら、私は各プロットのために同じ測位データを使用していますが、Figureは、Figureの側面に近い辺を追加するたびに少しずつ縮小されています。

これは私が何を意味するかです: enter image description here

これは私が現在使用しているコードです:私が欲しいもの

import networkx as nx 
import matplotlib.pyplot as plt 
from networkx.drawing.nx_agraph import graphviz_layout 

num_nodes = 100 
num_edges = range(10, 80, 5) 
file_name = "evolution1" 

G = nx.gnm_random_graph(num_nodes, num_edges[-1]) 
pos = graphviz_layout(G, prog="neato") 


for (i, ne) in enumerate(num_edges): 
    plt.figure(figsize=(4,3)) 

    nx.draw(G, 
      pos, 
      with_labels=False, 
      node_size=15, 
      node_color="black", 
      edgelist=G.edges()[:ne]) 

    plt.axis('off') 
    plt.savefig(file_name + "-%s.pdf" %i, format="pdf", 
       transparent=True) 

は、ノードがそれぞれに同じ停止にとどまるということです連続的なスライド、これははるかに視覚的に喜ばれる。誰か助けてくれますか?

P.S.場合には、これは関連性がある、私は(乳液/ビーマーで作られています)スライドショーで数字を入れ方法は、助けを事前に

\begin{center} 
    \multiinclude[<+>][start=0,format=pdf]{pics/evolution1} 
\end{center} 

おかげであります!

答えて

0

興味のある方は、自分で答えを見つけました。解決策は、plt.xlimとplt.ylimを呼び出すことです。私は、次を追加しました:

maxx = max([coor[0] for coor in pos.values()]) 
maxy = max([coor[1] for coor in pos.values()]) 

してから、ちょうどファイルに図を保存する前に、この問題が解決

plt.xlim([-10, maxx + 10]) 
plt.ylim([-10, maxy + 10]) 

を追加します。

関連する問題