2010-02-28 27 views
30

De forma predeterminada en Graphviz, las etiquetas de borde se colocan justo a la derecha del borde. Estoy buscando una manera de colocar las etiquetas SOBRE el borde, centrado en el borde. (Todavía será legible porque estoy cambiando el color del borde).Cómo colocar etiquetas de borde en el borde en graphviz

¿Alguna idea?

Respuesta

16

Si se trata de headlabel o taillabel, puede intentar poner labeldistance en cero para forzar que la etiqueta se dibuje en el borde, pero según tengo entendido, se refiere a la etiqueta de borde (la del medio del borde) . La documentación indica con total claridad que labeldistance solo afecta a las etiquetas de etiqueta de cabecera y taillabel, pero puede probar suerte.

Otra cosa que quizás desee probar es crear un nodo intermedio transparente con una etiqueta. Podría verse como quieras ... Pero si dependes en gran medida del algoritmo de ubicación de nodos, podría ser inaceptable crear esos nodos "artificiales". En ese caso, lo animo a unirse a los desarrolladores de graphviz y agregar la función que necesita;) En serio, es muy satisfactorio.

Si encuentra otra solución, por favor publíquela. Enfrentaré un problema similar en el futuro cercano.

+0

Sí, parece que es todo en este momento. Consideraré contribuir a graphviz, pero al igual que usted, mi problema no va a ser un problema por unos pocos meses. – naught101

5

Considere agregar algunos espacios en blanco después de su etiqueta. De esta forma, evitará la superposición con su flecha de borde, ya que las etiquetas de graphviz están alineadas a la derecha. Esta no es una solución elegante y me encantaría ver una alineación de etiquetas adecuada, pero podría resolver su problema.

Cuestiones relacionadas