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

Прямо на левые края в точке (Graphviz)

Я пытаюсь отображать ребра, идущие справа налево (т.е. назад) с помощью точки:

C <- A -> B

Лучшее, что я мог сделать, это:

digraph {
  a -> b;
  c -> a [dir="back"];
  {rank=same;c a b}
}

.. Это прекрасно, за исключением того, что я не люблю использовать c -> a, когда ребро направлено другим способом.

Итак, я хотел поделиться этим решением (которое, похоже, не упоминалось в SO), и проверить, не хватает ли я чего-то очевидного.

Смотрите: http://www.graphviz.org/doc/info/attrs.html#k:dirType

4b9b3361

Ответ 1

У меня нет альтернативы вашему использованию dir, но я могу сделать его немного короче, если вы хотите горизонтальное выравнивание, используйте rankdir свойство графика, чтобы направить направление слева направо.

digraph {
  rankdir=LR;
  a->b;
  c->a [dir="back"];
}

Ответ 2

Чтобы сделать ребрами в обратном направлении по умолчанию:

digraph {
  edge [dir="back"];
  a -> b;
  c -> a;
}

Затем переопределите значение по умолчанию для перехода вперед:

c -> d [dir="forward"];