Graphviz: Поместите красную метку на другую сторону
Это может быть связано с Как разместить крайние метки ON edge в graphviz: у меня есть следующий график, который я визуализирую с помощью команды 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"];
}
Я хотел бы, чтобы результат был более симметричным, поместив метку между User и Triple в левой части графика.
Ответы
Ответ 1
И здесь второе обходное решение с использованием splines=false
и двойных ребер:
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"];
}
Вывод:
![alt text]()
Ответ 2
Ручное размещение меток границ не может быть выполнено с помощью графического интерфейса.
Однако вы можете использовать атрибуты headlabel
, labeldistance
и 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"];
}
Вывод:
![graphviz output]()