Graphviz点垂直对齐节点

Graphviz点垂直对齐节点,graphviz,dot,Graphviz,Dot,我有以下graphviz点输入文件: digraph structs { rankdir = LR; node [shape=record]; hashTable [label="<f0>0|<f1>1|<f2>2|<f3>3|<f4>4|<f5>5|<f6>6|<f7>7|<f8>8"]; node_1_0 [label="<f0> one|<f1> two |&

我有以下graphviz点输入文件:

digraph structs {
rankdir = LR;
node [shape=record];
hashTable [label="<f0>0|<f1>1|<f2>2|<f3>3|<f4>4|<f5>5|<f6>6|<f7>7|<f8>8"];
node_1_0 [label="<f0> one|<f1> two |<f2> three"];
node_1_1 [label="<f0> un |<f1> deux|<f2> trois"];
struct3 [label="<f0> einz|<f1> swei|<f2> drei"];
hashTable:f1 -> node_1_0:f0;
node_1_0:f2  -> node_1_1:f0;
hashTable:f4 -> struct3:f0;
}
有向图结构{
rankdir=LR;
节点[形状=记录];
哈希表[label=“0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8”];
节点|1|0[label=“一|二|三”];
节点1[label=“un | deux | trois”];
结构3[label=“einz | swei | drei”];
哈希表:f1->node_1_0:f0;
节点_1_0:f2->节点_1_1:f0;
哈希表:f4->struct3:f0;
}
其渲染方式如下:


如何使[1 | 2 | 3]节点与[un | deux | trois]节点垂直对齐?谢谢

在注释中澄清后编辑:此处,具有强大权重的不可见边有助于保持节点对齐:

digraph structs2 
{
    rankdir = LR;
    node [shape=record];
    splines=false;       // optional; gives straight lines

    hashTable [label="<f0>0|<f1>1|<f2>2|<f3>3|<f4>4|<f5>5|<f6>6|<f7>7|<f8>8"];
    node_1_0 [label="<f0> one|<f1> two |<f2> three" ];
    node_1_1 [label="<f0> un |<f1> deux|<f2> trois"];
    struct3 [label="<f0> einz|<f1> swei|<f2> drei"];

    //
    node_1_0 -> node_1_1[ style = invis, weight= 10 ];
    //                    ^^^^^^^^^^^^^^^^^^^^^^^^^

    hashTable:f1 -> node_1_0:f0;
    node_1_0:f2  -> node_1_1:f0;
    hashTable:f4 -> struct3:f0;
}
有向图结构2
{
rankdir=LR;
节点[形状=记录];
样条曲线=false;//可选;给出直线
哈希表[label=“0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8”];
节点|1|0[label=“一|二|三”];
节点1[label=“un | deux | trois”];
结构3[label=“einz | swei | drei”];
//
节点_1_0->节点_1_1[style=invis,weight=10];
//                    ^^^^^^^^^^^^^^^^^^^^^^^^^
哈希表:f1->node_1_0:f0;
节点_1_0:f2->节点_1_1:f0;
哈希表:f4->struct3:f0;
}
给你(我相信)你想要的:

最初的答复是:

从表面上回答你的问题,这可以通过将他们放在同一个级别来快速实现:

digraph structs 
{
    rankdir = LR;
    node [shape=record];

    hashTable [label="<f0>0|<f1>1|<f2>2|<f3>3|<f4>4|<f5>5|<f6>6|<f7>7|<f8>8"];
    node_1_0 [label="<f0> one|<f1> two |<f2> three"];
    node_1_1 [label="<f0> un |<f1> deux|<f2> trois"];
    struct3 [label="<f0> einz|<f1> swei|<f2> drei"];

    {rank = same; node_1_0 node_1_1 }

    hashTable:f1 -> node_1_0:f0;
    node_1_0:f2  -> node_1_1:f0;
    hashTable:f4 -> struct3:f0;
}
有向图结构
{
rankdir=LR;
节点[形状=记录];
哈希表[label=“0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8”];
节点|1|0[label=“一|二|三”];
节点1[label=“un | deux | trois”];
结构3[label=“einz | swei | drei”];
{rank=same;node_1_0 node_1_1}
哈希表:f1->node_1_0:f0;
节点_1_0:f2->节点_1_1:f0;
哈希表:f4->struct3:f0;
}
屈服


为什么可以
rankdir=LR
等级组合=相同产生垂直对齐,而不是水平对齐?使用
rankdir=LR
horizontal表示依赖顺序,因此在层次结构上,右侧低于左侧
rank=same
表示层次结构相同的级别,然后必须垂直对齐。