3

Python で Graphviz/dot グラフを生成するために PyDot を使用しています。ファイルから読み取った画像でノードとエッジに注釈を付けたいのですが、ドキュメントで画像をノードとして配置する方法を見つけましたが、画像をノードの下に配置したり、エッジよりも下に配置したりする方法は見つかりませんでした。

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

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

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

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

4

2 に答える 2

7

ノードとエッジのラベルにHTMLを使用できます。詳細については、 http: //www.graphviz.org/doc/info/shapes.html#htmlをご覧ください。

基本的にあなたは何かを言うことができます

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

HTMLラベルには、必要な数の行と列を追加できます。標準のテキストラベルよりも少し冗長ですが、それらを使用してもう少し行うことができます。

于 2012-03-04T03:55:25.563 に答える
2

エッジが常に同じ位置に描画される場合に機能する 1 つの方法は、背景が透明な PNG を作成し、エッジが描画されるのと同じ場所にアイコンを配置するか、labeldistance/labelangle 属性を使用して移動することです。 . 私はPyDotに精通していませんが、SQLを使用して、画像がノードに表示されるかどうかを判断するケースを作成します..

この方法の問題は、私が使用しているグラフが常に異なる位置にあり、決して同じではないことです。そのため、理想的なケースでは、画像をエッジ ラベル、または下/右に追加したいと考えています。エッジラベルなど。回避策を見つけることができましたか?

于 2012-01-13T00:45:09.503 に答える