Подтвердить что ты не робот

GraphViz, группируя одни и те же ребра

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

Ключевое слово "strict" может помочь вам.

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

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