Graphviz создает две стрелки между участками - PullRequest
0 голосов
/ 01 июня 2018

Я хочу создать граф graphviz, который содержит два подграфа, содержащих узлы, которые связаны с другими узлами в другом графе.Некоторые узлы должны быть выровнены горизонтально друг к другу.

Я узнал о команде newrank=true и использую ее для достижения описанной цели.По какой-то причине я обнаружил, что это действительно странное поведение: если я создаю два узла в одном кластере и стрелку от одного к другому, а затем еще одну стрелку, указывающую на третий узел в другом кластере, graphviz отобразит две стрелки.

digraph g{
    newrank=true;

    subgraph cluster_d{
        A -> B
    }
    subgraph cluster_v{
        C
    }
    {rank=same; A, B, C }
    B -> C    
}

result of above code

Я знаю, что я мог бы просто использовать rankdir=LR и удалить rank=same, но в большем графе с большим количеством узлов и подграфов я, кажется, столкнулся с этой проблемойрано или поздно в любом случае.Я только что создал искусственный пример выше, чтобы сузить проблему.

Вот код, который используется: https://hackmd.io/s/B1NXAiTk7#

Почему Graphviz создает две стрелки между подграфами и как я могу предотвратитьэто?

Относится к: Почему graphviz рисует две стрелки и использует странный порядок? Но не было удовлетворительного ответа, и я думаю, что я сузил проблему.

...