使用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布局集群,但每个集群都应该是一个简单的垂直节点堆栈?是的,您是对的。。。