4

Python で matplotlib を使用して曲線をプロットできるので、何らかの方法で .dot グラフを表示する方法があるかどうか疑問に思います。グラフを説明する文字列があります。

graph name{
1--2;
}

どういうわけかそれをビューアプログラムに渡しますか?

4

1 に答える 1

8

意図したとおりではないかもしれませんが、pygraphvizを使用してグラフをファイルに出力できます。

import pygraphviz as pgv
G=pgv.AGraph()
G.add_edge('1','2')
G.layout()
G.draw('file.png')

(または、G = pgv.AGraph('file.dot') を使用して .dot ファイルをインポートすることもできます)

その後、いつでも Image または openCV を使用してファイルをロードし、ビューアーに表示できます。

私は、pygraphviz が直接それを許可するとは思わない。

編集:

私は最近別の方法を見つけて、あなたの質問を思い出しました: NetworkXでそれができます。方法は次のとおりです。

NetworkX を直接使用してグラフを作成します。NetworkX のコマンドのほとんどが pygraphviz のコマンドと同じであることは便利です。次に、matplotlib に送信し、そこにプロットします。

import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edge('1','2')
nx.draw(G)
plt.show()

または、pygraphviz を使用して .dot ファイルをインポートし、それを networkx オブジェクトに変換することもできます。

import pygraphviz as pgv
import networkx as nx
import matplotlib.pyplot as plt
Gtmp = pgv.AGraph('file.dot')
G = nx.Graph(Gtmp)
nx.draw(G)
plt.show()

だから今、あなたはより多くのオプションがあります:)

于 2013-07-30T14:53:30.393 に答える