Как добавить метки ребер в Graphviz?

169

Я пытаюсь нарисовать график с помощью Graphviz, но мне нужно добавить метки по краям. В Graphviz, похоже, нет никакого пути к этому. Есть ли выход?

user855
источник

Ответы:

234

Вы используете свойство label, прикрепленное к краю.

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

Выше генерируется график, который выглядит примерно так.

альтернативный текст

Эндрю Уокер
источник
32
Почему этикетки касаются краев? Разве не должно быть разрыва?
AndreKR
11
@AndreKR Быстрое решение - просто поставить пробел в начале метки: a -> b [label = "от a до b"];
Chembrad
6
Другим исправлением является использование rankdir="LR";, которое создает горизонтальный график с метками, расположенными над краем, не касаясь.
Дейв Джарвис,
6
Есть ли способ повернуть метки вертикально, чтобы идти параллельно линии?
Джастин Л.
5
Для дальнейшего использования документация по языку DOT находится здесь, а документация по атрибутам - здесь .
Дженс
23

@ Эндрю Уокер дал отличный ответ!

Также стоит знать об 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"];
}
Нирав Патель
источник