在graphviz中记录节点和rankdir

Ric*_*ick 11 graphviz

当我将图形的rankdir从LR更改为TD时,我的记录节点也改变了它们的布局方向,因此它们看起来不再像"记录".我尝试将单独的rankdir应用于节点,但这没有任何效果.

如何使记录节点保持正确的布局?

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

  A [label="ShouldBeTop | ShouldBeBottom"];
  B [label="Top | Bottom"];
  A -> B;
}
Run Code Online (Sandbox Code Playgroud)

ADE*_*Ept 11

考虑到rankdir有效地取代了给定图形的"顶部"和"底部"的概念,这并不奇怪.

我担心没有简单的补救措施,除了黑客攻击源(这根本不容易).您可以使用某种大规模搜索替换解决方案在"{}"中包围您的标签,以获得所需的效果:

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

A [label="{ShouldBeTop | ShouldBeBottom}"]; 
B [label="{Top | Bottom}"]; A -> B; 
}
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以像标签一样使用html表而不是记录.IIRC基于表格的标签不随排名方向旋转.见http://www.graphviz.org/doc/info/shapes.html#html