записывать узлы и rankdir в graphviz

Когда я изменил rankdir моего графа с LR на TD, мои узлы записи также изменили направление своей компоновки, поэтому они больше не выглядят как «запись». Я попытался применить к узлам отдельный rankdir, но это не дало никакого эффекта.

Как сохранить узлы записи с правильным расположением?

digraph sample { 
  graph [rankdir=TD];
  node [shape=record];

  A [label="ShouldBeTop | ShouldBeBottom"];
  B [label="Top | Bottom"];
  A -> B;
}

person Rick    schedule 03.11.2008    source источник


Ответы (2)


Принимая во внимание, что rankdir эффективно заменяет понятия «верх» и «низ» для данного графа, это неудивительно.

Боюсь, что нет простого средства от этого, кроме взлома исходного кода (а это было бы совсем непросто). Вы можете окружить свои метки "{}" каким-нибудь решением для массового поиска-замены, чтобы получить требуемый эффект:

digraph sample { graph [rankdir=TD]; node [shape=record];

A [label="{ShouldBeTop | ShouldBeBottom}"]; 
B [label="{Top | Bottom}"]; A -> B; 
}
person ADEpt    schedule 03.11.2008

Вы можете использовать html-таблицу как метки вместо записей. IIRC метки на основе таблицы не вращаются в направлении ранга. См. http://www.graphviz.org/doc/info/shapes.html#html

person Henrik Lindberg    schedule 12.06.2011
comment
+1 для HTML-подобных ярлыков. По той же ссылке: Форма на основе записей была в значительной степени заменена и значительно обобщена HTML-подобными метками. - person marapet; 24.08.2011
comment
но HTML-подобные таблицы намного громоздче :( - person McKay; 27.11.2018