¿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?

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


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


8

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

Por ejemplo:

digraph G {
 a -> b [ label="\E" ];
 b -> c [ label="\E"];
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.