2017-02-24 15 views
-1

我正在使用下面的plot()函數,我在實驗後偶然發現了這個函數。 previous questionNetworkx:真正的與整數的內部結構和分形圖嗎?

def plot(self): 
    plt.figure() 
    pos = nx.graphviz_layout(self.g, prog='dot') 
    nx.draw(self.g, pos, node_size=660, node_color='#aaaaff') 

圖表看起來(它是分層,用3層),如果如以下示例的一些內部邊緣連接使用浮點數看2.0,3.0,...:

{1: {21: {}}, 
2: {22: {}}, 
3: {}, 
21: {2.0: {}, 52: {}}, 
22: {3.0: {}}, 
52: {22.0: {}}} 

enter image description here

但如果內部是純整數像下面一切的例子去WRONG

{1: {21: {}}, 
2: {22: {}}, 
3: {}, 
21: {2: {}, 52: {}}, 
22: {3: {}}, 
52: {22: {}}} 

enter image description here

這是一個更大的圖形也相同。這只是一個例子。

知道爲什麼這會發生?和解決方案...

+0

請說明問題。這兩個輸出是拓撲相同的。 – Prune

+0

一個是分層繪製而另一個不是。 – user1019129

回答

1

如果NetworkX.draw內部產生邊緣的字典,它很可能是第一個例子以不同的順序產生的邊緣:花車和整數不相同的哈希值。我幾乎不是這個軟件包的專家,但是我沒有看到NextworkX文檔中的任何內容能夠保證甚至暗示它會以某種形式將圖形打印成可視化的根目錄。

簡而言之,你會得到任何形式的圖表得出例程的內部找到方便。

我認爲你可以進行所需的自己的變化;如果沒有,請提供全功能Minimal, complete, verifiable example。這促進了更詳細的迴應。


我做了一點點reading。 你可以指定位置;如果默認它們(如您在投稿例子一樣),那麼佈局方法接管,你會得到什麼發現方便。