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: