org online node compiler graphviz dot

online - lr graphviz



Graphviz: Coloque la etiqueta de borde en el otro lado (2)

Esto puede estar relacionado con Cómo colocar etiquetas de borde EN borde en graphviz : Tengo el siguiente gráfico, que visualizo con el comando dot -Teps g.dot > g.eps :

graph triple { node [shape=box]; User; Object; Tag; node [shape=diamond,style=filled]; Triple; { User -- Triple [label = "1"]; Object -- Triple [label = "1"]; } { rank=same; User; Object; } Triple -- Tag [label="n"]; }

Me gustaría que el resultado fuera más simétrico al colocar la etiqueta entre Usuario y Triple en el lado izquierdo del gráfico.


La colocación manual de las etiquetas de borde no se puede hacer con graphviz.

Sin embargo, puede usar los headlabel , labeldistance y labelangle :

graph triple { node [shape=box]; User; Object; Tag; node [shape=diamond,style=filled]; Triple; { User -- Triple [headlabel = "1", labeldistance=2.5, labelangle=20]; Object -- Triple [headlabel = "1", labeldistance=2.5, labelangle=-20]; } { rank=same; User; Object; } Triple -- Tag [label="n"]; }

Salida:


Y aquí está la segunda solución alternativa utilizando splines=false y bordes dobles:

graph { splines=false; node [shape=box]; User; Object; Tag; node [shape=diamond,style=filled]; Triple; { User -- Triple [label = "1"]; User -- Triple [label = ""]; Object -- Triple [label = ""]; Object -- Triple [label = "1"]; } { rank=same; User; Object; } Triple -- Tag [label="n"]; }

Salida: