xlabels для узлов перекрываются с краями в точке

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

график

Метка для узла b перекрывается с краем из a в b, Есть ли способ как-то переместить этот ярлык, чтобы избежать этого?

Это код, который я использую для создания изображения (используя dot)

digraph A {
  rankdir=LR;
  center=true; margin=0.3; 
  nodesep=1.5; ranksep=0.5;

  node [shape=point,  height=".2", width=".2"];

  a [xlabel="a"];
  b [xlabel="b"];
  c [xlabel="c"];
  a -> b -> c;
  a -> c;
}

Это случается довольно часто, и это раздражает (то же самое здесь, но с краями):

Я понимаю, что это связано с тем, что xlabelОни ставятся после того, как все было разложено, но мне было интересно, можно ли хоть немного помочь - то есть сказать, где нужно разместить ярлык.

1 ответ

Вы не можете сделать это - вы хотите предоставить информацию о положении для xlabel, но graphviz в настоящее время (2016-01-25) не позволяет это. Для отслеживания этой ошибки в трекере ошибок Graphviz есть запрос на открытую функцию; это описано как:

это в основном запрос функции, позволяющий пользователю предоставлять информацию о местоположении для xlabels. Для xlabels, прикрепленных к узлам, координаты должны быть относительно положения узла. Аналогичная функция может применяться для меток головы и хвоста для краев. Я полагаю, что xlabels для ребер может быть основан на "центре" ребра.

Другие вопросы по тегам