私はいくつかのPythonグラフの視覚化を学んでいます。私はいくつかのブログの投稿を行うことを見つけたsomethings私は試してみたかった。残念ながら、私はこのエラーに遭遇した、あまりにも遠く取得していない:は私のシステムでエラーを再現するコードのAttributeError: 'module' object has no attribute 'graphviz_layout'
NetworkXとPyGraphVizは単独では動作しますが、一緒には動作しません。
最も簡単なスニップはこれです、
In [1]: import networkx as nx
In [2]: G=nx.complete_graph(5)
In [3]: nx.draw_graphviz(G)
------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-3-481ad1c1771c> in <module>()
----> 1 nx.draw_graphviz(G)
/usr/lib/python2.7/site-packages/networkx/drawing/nx_pylab.pyc in draw_graphviz(G, prog, **kwargs)
982 See networkx.draw_networkx() for a description of optional keywords.
983 """
--> 984 pos = nx.drawing.graphviz_layout(G, prog)
985 draw(G, pos, **kwargs)
986
AttributeError: 'module' object has no attribute 'graphviz_layout'
は、私は同様のquestionsを見つけ、postsこのコンボでは難しいが、全く同じエラーではない。 1つはcloseでしたが、自動的に解決されました。
まず、私はNetworkXと(Scipyと同様の要件を示しています)PyGraphVizためがインストールされたすべての必要なパッケージを検証しました。
次に、Pythonでこれらのモジュールのインストールをテストするためのスナップを探しました。最初の2つの例はNetworkX Reference Documentationです。これは、MatPlotLibとGraphVizの両方を使って、いくつかの例を示しています。
matplotlibのコード例では、私の作品(画面に画像をレンダリング)、
In [11]: import networkx as nx
In [12]: G=nx.complete_graph(5)
In [13]: import matplotlib.pyplot as plt
In [13]: nx.draw(G)
In [13]: plt.show()
しかし、GraphVizをもそして、同様のエラーが発生する
In [16]: import networkx as nx
In [17]: G=nx.complete_graph(5)
In [18]: H=nx.from_agraph(A)
------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-18-808fa68cefaa> in <module>()
----> 1 H=nx.from_agraph(A)
AttributeError: 'module' object has no attribute 'from_agraph'
In [19]: A=nx.to_agraph(G)
------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-19-32d1616bb41a> in <module>()
----> 1 A=nx.to_agraph(G)
AttributeError: 'module' object has no attribute 'to_agraph'
In [20]: print G
complete_graph(5)
切れ端私はPyGraphVizのチュートリアルページをLayout & Drawingに投稿しました。これにはいくつかのスナップもあります。 PyGraphVizはNeato(デフォルト)、PyDot、Circo Post Script出力(Gimpを使用して表示)でを渡しました。 (唯一の違いは、これらのPyGraphVizの例は表示にレンダリングされず、ファイルにレンダリングされないということです)。動作するために
In [1]: import pygraphviz as pgv
In [2]: d={'1': {'2': None}, '2': {'1': None, '3': None}, '3': {'2': None}}
In [3]: A=pgv.AGraph(d)
In [4]: A.write("pygraphviz_test_01.dot")
In [5]: A.layout()
In [6]: A.draw('pygraphviz_test_01.png')
、複雑に PyGraphViz requires GraphVizパッケージのバイナリを追加します。私はArch Linuxを使用しており、そのディストリビューションのバージョンをインストールしました。アーチLinuxはにも合格したexample to test installation(ファイルに出力)を持っています。
私には何が欠けていますか? 何がNetworkXを引き起こす可能性があります& PyGraphVizは単独ではうまく動作しますが、一緒には動作しませんか?