2016-01-27 151 views
-2

我在python初學者,我試圖繪製使用圖形:「模塊」對象有沒有屬性「點」

`nx.write_dot(G, "%s.dot"%(image))` 
在定義函數

。當我EXCUTE程序,我得到這個錯誤:

文件 「sim.py」 31行,在 的main()

文件 「sim.py」,30日線在主 溶膠.RUN()

文件 「C:\ Python27 \我的SIM \ Solution.py」,線221,在運行 self.drawGraph(G, 「解決方法1」)

文件「C:\ Python27 \我的sim \ Solution.py「,行227,drawGraph nx.write_dot(G,」%s.dot「%(image))

文件 「」,第2行,在write_dot

文件 「C:\ Python27 \ lib中\站點包\ networkx \ utils的\ decorators.py」,線220,在_open_file

結果= FUNC( * new_args,** kwargs)

文件 「C:\ Python27 \ lib中\站點包\ networkx \繪圖\ nx_pydot.py」,第58行,在write_dot

P = to_pydot(G)

文件「C:\ Python27 \ lib \ site-packages \ networkx \ drawing \ nx_pydot.py」,第197行,在to_pydot

P = pydot.Dot(GRAPH_TYPE = GRAPH_TYPE,嚴格=嚴格,** graph_defaults) AttributeError的: '模塊' 對象有沒有屬性 '點'

這似乎是一個Windows操作系統的問題(我在win7上),因爲我的同事可以在他的ubuntu機器上運行相同的腳本而沒有任何錯誤。

感謝您的幫助!

+0

您可以使用dir(P)來查看變量的方法/屬性。 –

+0

它看起來像文件命令開頭引號,但不是一貫地結束;這只是一個手動輸入錯誤? – MathBio

+0

@MichelKeijzers:請告訴我該怎麼做? (我開始與python) – Betty

回答

0

你正在做的教程繪圖圖對不對?

在這裏它是如何工作的:

import networkx as nx 
import matplotlib.pyplot as plt 

G=nx.Graph() 
G.add_edges_from([(1,2),(1,3)]) 
nx.draw(G) 
plt.show() 

編輯:,如果你沒有安裝matplotlib,只需打開命令行,然後鍵入:

pip install matplotlib 

matplotlib是可選的,它不隨着networkx,你必須安裝它。

也用於保存。點文件剛加入這一行:

nx.write_dot(G,'C:/file.dot') 

編輯:沒有matplotlib會像這樣:

import networkx as nx 

G=nx.Graph() 
G.add_edges_from([(1,2),(1,3)]) 
nx.draw(G) 
nx.write_dot(G,'C:/file.dot') 

我注意到在你的代碼nx.write_dot(G, "%s.dot"%(image))你沒有定義image和G,錯誤應該來自其中之一。

但如果你想安裝C++編譯器,我建議下載Visual C++ Compiler 33mb或Microsoft visual studio community,它們是免費的。

+0

我試過這種方法,但是當我想要安裝matplotlib,它失敗了,因爲它需要visual C++,如果我記得wellans我的機器上沒有足夠的空間來安裝新軟件;所以我正在處理my_dot問題。謝謝! – Betty

+0

@Betty我明白了......你可以忽略2和7行的「plt」。 – Bear

+0

G和圖像是我的函數屬性,所以當我調用這個函數時,就會出現這個錯誤。 我用你最後的代碼提示,但它有一個錯誤:ImportError:draw()需要Matplotlib。我想我會嘗試釋放一些空間並安裝visual C++。 – Betty

相關問題