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


169

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

Ответы:


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"];
}
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.