pygraphvizとnetworkxをpython(v 2.7)でネットワークマップを作成しようとしています。私は基本的にそれが格好いい見つけることができない、最後の行にエラーが発生しますWindowsでpygraphvizからneatoを実行する方法
import networkx as nx
import numpy as np
import string
import pygraphviz
dt = [('len', float)]
A = np.array([(0, 0.3, 0.4, 0.7),
(0.3, 0, 0.9, 0.2),
(0.4, 0.9, 0, 0.1),
(0.7, 0.2, 0.1, 0)
])*10
A = A.view(dt)
G = nx.from_numpy_matrix(A)
G = nx.relabel_nodes(G, dict(zip(range(len(G.nodes())),string.ascii_uppercase)))
G = nx.to_agraph(G)
G.node_attr.update(color="red", style="filled")
G.edge_attr.update(color="blue", width="2.0")
G.draw('/tmp/out.png', format='png', prog='neato')
:
"ValueError: Program neato not found in path."
エラーがためagraph.pyファイルを参照する私はstackoverflowのに非常に便利になりますスクリプトを見つけましたpygraphviz
しかし、私はagraph.pyを見て、問題を引き起こす可能性のあるものを見ることができません
これを解決する方法はありますか?私はコーディングにWindowsとIDLEを使用しています。 ありがとう!
まず、お返事ありがとうございます。私はgraphvizをインストールしています。今すぐスクリプトを実行すると、次のエラーが表示されます。 トレースバック(最新のコールが最後に行われました): ファイル "C:/Python27/2_5.py"、行22、 G.draw( '/ tmp/out。 ファイル "C:¥Python27¥lib¥site-packages¥pygraphviz¥agraph.py"、1422行目、描画中 fh = self._get_fh(パス、「フォーマット」=「png」、ファイル: "ファイル:C:\ Python27 \ lib \ site-packages \そのようなファイルやディレクトリはありません: '/tmp/out.png' –
Amlanza
ファイル/tmp/out.pngを作成する際に問題があります。これは、オペレーティングシステムの可能性があります。/tmpはすべてのLinuxディストリビューションの通常のディレクトリなので、ファイルを作成するだけです。 Windows上で作業している場合は、ディレクトリが存在しない可能性があります(存在しないディレクトリにファイルを作成しようとしています)。ディレクトリを指定せずに '' out.png ''だけに置き換えると、現在のディレクトリにディレクトリを作成しても問題ありません。これがトリックであれば教えてください! – EnricoGiampieri