Правые и левые края в точке (Graphviz) - PullRequest
31 голосов
/ 02 октября 2009

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

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

Ответы [ 2 ]

38 голосов
/ 06 ноября 2009

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

digraph {
  rankdir=LR;
  a->b;
  c->a [dir="back"];
}
7 голосов
/ 20 июля 2013

Чтобы края по умолчанию были направлены назад:

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

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

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