使用FDP

时间:2015-12-09 11:24:55

标签: graphviz

有人能让我知道如何垂直对齐节点吗?这是我的代码

       subgraph clusterDatabase { 
       label="Databases" style=filled; 
       bgcolor="#D0C0A0";
       node [fillcolor="yellow" style="filled" ]"DB 3.3.3.3";
       node [fillcolor="yellow" style="filled" ]"DB 1.1.1.1";
      node [ fillcolor="yellow" style="filled" ]"DB 2.2.2.2";

}

我的输出附在图片enter image description here

1 个答案:

答案 0 :(得分:0)

使用fdp,通过添加位置坐标,以下代码可能会接近您想要的代码:

graph dfd {
  node[shape=box]
  subgraph clusterDatabase { 
    label="Databases" style=filled; 
    bgcolor="#D0C0A0";
    node [pos="0.2,0.2!" fillcolor="yellow" style="filled" ]"DB 3.3.3.3";
    node [pos="0.0,0.1!" fillcolor="yellow" style="filled" ]"DB 1.1.1.1";
    node [pos="0.2,0.0!" fillcolor="yellow" style="filled" ]"DB 2.2.2.2";
  }
}

enter image description here

我进行了实验,发现垂直对齐是通过指定位置来实现的,以使各个维度上的框都没有重叠。一旦存在这样的重叠,则可以移动重叠的框以避免重叠,并且将无法实现对齐。

在您的情况下,框“ DB 1.1.1.1”会侵入“ DB 2.2.2.2”的空间,“ DB 2.2.2.2”会移到右侧以避免重叠。

我还没有找到让布局接受重叠但保持对齐的方法。 (如果专家知道该怎么做,请发表评论。)