Graphvizでエッジラベルを追加する方法


169

Graphvizを使用してグラフを描画しようとしていますが、エッジにラベルを追加する必要があります。Graphvizではそれを行う方法はないようです。方法はありますか?

回答:


234

エッジに添付されたlabelプロパティを使用します。

digraph G {
 a -> b [ label="a to b" ];
 b -> c [ label="another label"];
}

上記は、このようなグラフを生成します。

代替テキスト


32
ラベルが端に触れているのはなぜですか?ギャップがあってはいけませんか?
AndreKR 2011年

11
@AndreKR簡単な修正は、ラベルの先頭にスペースを置くことです:a-> b [label = "a to b"];
ケムブラッド2012年

6
もう1つの修正は、を使用することですrankdir="LR";。これは、ラベルを触れずに端の上に配置した水平グラフを生成します。
Dave Jarvis

6
ラベルを垂直に回転させて線に平行にする方法はありますか?
Justin L.

5
今後の参考のために、DOT言語のドキュメントはこちら、属性のドキュメントはこちらにあります
Jens

23

@Andrew Walkerが素晴らしい答えをくれました!

また、labeltooltip 属性について知っておく価値もあります。これにより、エッジのラベルに追加の文字列を付けることができます。これはtooltip、エッジよりも直接ホバリングするのが面倒なので、ユーザーにとっては属性よりも簡単です。構文は次のとおりです。

digraph G {
 a -> b [label="  a to b" labeltooltip="this is a tooltip"];
 b -> c [label="  another label" ];
}

次の結果が得られます。 ツールチップ付きのラベルの例


8

あなたは使用することができますlabel="\E"それはさようならデフォルトのラベルを生成します。

例えば:

digraph G {
 a -> b [ label="\E" ];
 b -> c [ label="\E"];
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.