1. ホーム
  2. eclipse

[解決済み】Graphviz' dotでノードの外側に注釈を追加する方法は?

2022-02-01 18:44:25

質問

私はDotの初心者で、EclipseでDotとZestを使ってコールグラフを視覚化しようとしています。また、ノードにアノテーションを付けたいと考えています(写真上のOKやFailed)。

ドットやゼストで共通にできる方法はありますか?

解決方法は?

xlabel

をご覧ください。 xlabel (外部ラベル)です。

main.dot

graph {
    node [shape=square];
    1 [xlabel="a"]
    2 [xlabel="b"]
    1 -- 2;
}

変換してください。

dot -Tpng main.dot > main.png

出力します。

しかし、この方法でラベルの正確な配置をどの程度簡単に制御できるかはわかりません:デフォルトでは重なりも起こり得ます。見てください。

shape=record

を好む傾向があるだけです。 shape=record によって言及されたアプローチ https://stackoverflow.com/a/23031506/895245 やその一般化であるHTMLライクラベルを用いると、各ノードにどのようなラベルが属するかが明確になるためである。

graph {
    rankdir=LR
    node [shape=record];
    1 [label="1|a"]
    2 [label="2|b"]
    1 -- 2;
}

出力します。

TODO タイプを避けることができます 12 を2回?

Ubuntu 16.10、graphviz 2.38でテストしています。