GraphViz, группирующий одинаковые ребра - PullRequest
20 голосов
/ 24 февраля 2010
digraph G {
  a -> b [ label = "foo" ];
  a -> b [ label = "bar" ];
}

Это создаст два ребра между узлами «a» и «b». Есть ли способ иметь только одно ребро (сгруппировать их)?

Ответы [ 2 ]

41 голосов
/ 21 июля 2010

Вам может помочь "строгое" ключевое слово.

strict digraph G {
  a -> b [ label = "foo" ];
  a -> b [ label = "bar" ];
}

Это объединит края. Но я верю, что это применимо только к первому ярлыку.

7 голосов
/ 24 февраля 2010

Я думаю, что это действительно зависит от желаемого результата. Одна возможность:

digraph G {
   graph [ splines = false ]
   a -> b [ label = "foo" ];
   a -> b [ label = "bar" ];
 }

Если сплайны не используются, рисуются ребра с прямыми отрезками, поэтому дублированные ребра не будут различаться визуально.

Каким будет один край в вашем идеальном выводе, поскольку для него должно быть два разных ярлыка?

...