sda*_*aau 5 rotation graphviz subgraph
我想要一个节点(或一个子图,包围一个节点 - 无论哪个可能/更容易)旋转,如下图所示:

(请注意,如果旋转"B"标签对我来说无关紧要 - 只有记录中的 'verti-*' 文本[或者更确切地说,整个记录节点]如图所示旋转)
但是,我最接近的是以下dot代码:
digraph graphname {
node [fontname=Monospace, fontsize=14];
subgraph clusterMasterBox {
node [shape=record];
l1 [label = "{ horiz-1 \r| \
horiz-2 \r| \
horiz-3 \r| \
horiz-4 \r} \
"];
subgraph clusterSubRotateBox {
rotate=90;
node [shape=record,rotate=90];
l2 [label = "{ verti-1 \r| \
verti-2 \r| \
verti-3 \r| \
verti-4 \r} \
"];
label="B";
}
label="A"
}
}
Run Code Online (Sandbox Code Playgroud)
我有subgraph clusterSubRotateBox那里的唯一原因(以及它嵌套在里面的唯一原因clusterMasterBox),是因为我希望我可以为它分配旋转,但显然我不能 - 因为上面的代码生成了这个图像:

所以我的问题是 - 有没有办法旋转记录节点; 如果不是单独的,那么可能作为子图的一部分(或者不同类型的"对象")?
提前感谢任何建议,
干杯!
如果要旋转单个基于记录的节点,则rankdir将起作用。我尝试了我的图表,
digraph plugnoid {
rankdir=LR;
node[shape=Mrecord];
plugnoid [label="swarm| {<load0> onLoad|<plugin0> Plugin|<quit0> onQuit}|{<run0>run|<rehash0>rehash}"];}
Run Code Online (Sandbox Code Playgroud)

rankdir可以具有值LR,RL和TB(默认值)。当我将rankdir更改为TB时,输出更改了,
您可能希望在图形上尝试使用它们以获得期望的结果。我经历过,当我使用子图并设置不同的rankdir时,结果并不理想。有关更多详细信息,请参见http://www.graphviz.org/doc/info/shapes.html#record。
对于单个节点,有orientation属性。我刚用
node[shape=hexagon, orientation=30]
制作一个顶部有一个点而不是平顶的六边形。
不幸的是似乎不适用于“记录”类型:-(
小智 4
图形对象上应该有一个“旋转”属性(请参阅http://www.graphviz.org/doc/info/attrs.html#drotation),但它在我的测试中没有执行任何操作。而且,根据文档,它仅适用于整个图(而不是集群/子图)。我想您首先将子图渲染为 postscript,然后将其作为单个占位符节点的自定义形状包含在最终图中。如果你不能让“旋转”来做它的事情,postscript肯定有一个简单的方法来应用变换(在这种情况下是旋转),可能就像在生成的代码前加上一些坐标定义一样简单。抱歉挥手,但我现在没有时间尝试。