-2

私は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'

私の同僚はエラーなしで自分のubuntuマシンで同じスクリプトを実行できるため、Windows OSの問題のようです(私はwin7を使用しています)。

助けてくれてありがとう!

4

1 に答える 1

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 には付属していません。インストールする必要があります。

また、.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))あなたが定義していないコードとGに気づきました。imageエラーはそれらのいずれかからのものである必要があります。

ただし、C++ コンパイラをインストールする場合は、Visual C++ Compiler 33mb またはMicrosoft Visual Studio communityを無料でダウンロードすることをお勧めします。

于 2016-01-27T10:57:09.973 に答える