2011-10-17 50 views
1

私はPythonでgraphviz/dot graphを生成するためにPyDotを使用しています。私は、ノード画像でDOTグラフに注釈を付ける

http://www.graphviz.org/doc/info/attrs.html

http://www.graphviz.org/doc/info/shapes.html

http://www.graphviz.org/Documentation/html/shapehowto.html

として画像を配置する方法を、私はマニュアルに記載されていましたが、ファイルから読み取った画像を自分のノードとエッジに注釈を付けたいと思いますが、ノードの下に画像を置く方法やエッジを少なくする方法ではありません。

誰かがそれを行う方法を知っていますか?

答えて

1

エッジが常に同じ位置に描画されるようにするには、透明な背景を持つPNGを作成し、エッジを描く場所と同じ場所にアイコンを配置するか、labeldistance/labelangle属性を移動します。私はPyDotに精通していませんが、SQLを使ってノード上に画像が表示されているかどうかを判断します。

私が扱っているグラフは、異なっていて、決して同じではないので理想的なケースでは、イメージをエッジラベルに追加するか、またはエッジラベルの右下に追加したいと思います。回避策を見つけることができましたか?

6

ノードとエッジのラベルにHTMLを使用できます。あなたは、ここで詳細を見つけることができます:http://www.graphviz.org/doc/info/shapes.html#html

基本的に、あなたは、HTMLのラベルに必要な数の行と列を追加することができます何か

"a" -> "b" [label = <<TABLE><TR><TD><IMG SRC="path/to/picture"/></TD></TR></Table>>] 

を言うことができます。これは標準のテキストラベルよりも冗長ですが、もう少し詳しいことができます。

関連する問題