Я хочу создать граф graphviz, который содержит два подграфа, содержащих узлы, которые связаны с другими узлами в другом графе.Некоторые узлы должны быть выровнены горизонтально друг к другу.
Я узнал о команде newrank=true
и использую ее для достижения описанной цели.По какой-то причине я обнаружил, что это действительно странное поведение: если я создаю два узла в одном кластере и стрелку от одного к другому, а затем еще одну стрелку, указывающую на третий узел в другом кластере, graphviz отобразит две стрелки.
digraph g{
newrank=true;
subgraph cluster_d{
A -> B
}
subgraph cluster_v{
C
}
{rank=same; A, B, C }
B -> C
}
Я знаю, что я мог бы просто использовать rankdir=LR
и удалить rank=same
, но в большем графе с большим количеством узлов и подграфов я, кажется, столкнулся с этой проблемойрано или поздно в любом случае.Я только что создал искусственный пример выше, чтобы сузить проблему.
Вот код, который используется: https://hackmd.io/s/B1NXAiTk7#
Почему Graphviz создает две стрелки между подграфами и как я могу предотвратитьэто?
Относится к: Почему graphviz рисует две стрелки и использует странный порядок? Но не было удовлетворительного ответа, и я думаю, что я сузил проблему.