簡體   English   中英

“模塊”對象沒有屬性“點”

[英]'module' object has no attribute 'Dot'

我是 python 的初學者,我正在嘗試使用以下方法繪制圖形:

`nx.write_dot(G, "%s.dot"%(image))`

在定義的函數中。 當我執行程序時,我收到此錯誤:

File "sim.py", line 31, in <module>
    main()

File "sim.py", line 30, in main
    sol.run() 

File "C:\Python27\My sim\Solution.py", line 221, in run
    self.drawGraph(G, "solution1")

File "C:\Python27\My sim\Solution.py", line 227, in drawGraph
    nx.write_dot(G, "%s.dot"%(image))

File "<decorator-gen-232>", line 2, in write_dot

File "C:\Python27\lib\site-packages\networkx\utils\decorators.py", line 220, in _open_file

result = func(*new_args, **kwargs)

File "C:\Python27\lib\site-packages\networkx\drawing\nx_pydot.py", line 58, in write_dot

P=to_pydot(G)

File "C:\Python27\lib\site-packages\networkx\drawing\nx_pydot.py", line 197, in to_pydot

P = pydot.Dot(graph_type=graph_type,strict=strict,**graph_defaults)
AttributeError: 'module' object has no attribute 'Dot'

似乎是 Windows 操作系統問題(我使用的是 win7),因為我的同事可以在他的 ubuntu 機器上運行相同的腳本而不會出現任何錯誤。

謝謝你的幫助!

你在做教程繪制圖形嗎?

這里是如何工作的:

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,您必須安裝它。

同樣為了保存.dot文件,只需添加以下行:

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 ,它們是免費的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM