Dot graph language - как сделать двунаправленные края?
Вот очень упрощенный пример моего графика точек:
strict digraph graphName {
A->B
B->A
}
Это создает ![alt text]()
Вместо этого я хочу, чтобы между А и В было показано одно ребро, но с двойной стрелкой. Я знаю, как получить двойную стрелку в качестве глобальной опции:
strict digraph graphName {
edge [dir="both"]
A->B
B->A
}
Но это выглядит очень некрасиво, и не все мои края должны быть двуглавыми.
![alt text]()
Если я выполню дополнительную обработку графика и сам обнаружу двойную ссылку и заменим два ребра одним ребром, все будет в порядке. Но я бы предпочел не делать этот дополнительный шаг
strict digraph graphName {
A->B [dir="both"]
}
![alt text]()
Есть ли лучшие решения?
Ответы
Ответ 1
Как насчет "концентрат = правда"?
strict digraph graphName {
concentrate=true
A->B
B->A
}
![with concentrate=true]()
Из документации:
Если это правда, используйте краевые концентраторы. Это объединяет несколько ребер в одно ребро и заставляет частично параллельные ребра делить часть своих путей. Последняя функция еще не доступна за пределами точки.
Ответ 2
Вы должны просто использовать:
A → B [dir = "both" ]