使用FDP垂直对齐Graphviz中的节点

使用FDP垂直对齐Graphviz中的节点,graphviz,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";

有人能告诉我如何垂直对齐节点吗?这是我的密码

       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";
}


我的输出通过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";
  }
}

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

在您的情况下,“DB 1.1.1.1”框侵入了“DB 2.2.2.2”的空间,“DB 2.2.2.2”向右移动以避免重叠


我还没有想出一个方法,让布局接受重叠,但保持对齐。(如果专家知道怎么做,请评论。)

使用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";
  }
}

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

在您的情况下,“DB 1.1.1.1”框侵入了“DB 2.2.2.2”的空间,“DB 2.2.2.2”向右移动以避免重叠


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

节点之间没有边-布局必须使用fdp吗?我只是想显示群集框之间的连接,而不是群集内部的连接。因此需要使用fdp。因此,您希望使用fdp布局集群,但每个集群都应该是一个简单的垂直节点堆栈?是的,您是对的…节点之间没有边-您必须使用fdp进行布局吗?我只是想显示集群框之间的连接,而不是集群内部的连接。因此需要使用fdp。所以您希望使用fdp布局集群,但每个集群都应该是一个简单的垂直节点堆栈?是的,您是对的。。。