¿Cómo agregar etiquetas de borde en Graphviz?

169

Estoy tratando de dibujar un gráfico usando Graphviz, pero necesito agregar etiquetas en los bordes. No parece haber ninguna forma de hacerlo en Graphviz. ¿Hay una salida?

usuario855
fuente

Respuestas:

234

Utiliza la propiedad de etiqueta adjunta al borde.

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

Lo anterior genera un gráfico que se parece a esto.

texto alternativo

Andrew Walker
fuente
32
¿Por qué las etiquetas tocan los bordes? ¿No debería haber una brecha?
AndreKR
11
@AndreKR Una solución rápida es poner un espacio al comienzo de la etiqueta: a -> b [label = "a to b"];
Chembrad
66
Otra solución es usar rankdir="LR";, que produce un gráfico horizontal con etiquetas colocadas sobre el borde sin tocar.
Dave Jarvis el
66
¿Hay alguna manera de hacer rotar las etiquetas verticalmente para ir paralelas a la línea?
Justin L.
55
Para referencia futura, la documentación del lenguaje DOT está aquí y la documentación de los atributos está aquí .
Jens
23

¡@Andrew Walker ha dado una gran respuesta!

También vale la pena conocer el labeltooltip atributo . Esto permite unir una cadena adicional a la etiqueta de un borde. Esto es más fácil para un usuario que el tooltipatributo, ya que puede ser complicado desplazarse directamente sobre un borde. La sintaxis es la siguiente:

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

Lo que da el siguiente resultado: ejemplo de una etiqueta con información sobre herramientas

Allan Bowe
fuente
8

Puede usarlo label="\E"generará bye etiqueta por defecto.

Por ejemplo:

digraph G {
 a -> b [ label="\E" ];
 b -> c [ label="\E"];
}
Nirav Patel
fuente