gpt4 book ai didi

GraphViz - 子图的对齐

转载 作者:行者123 更新时间:2023-12-03 22:20:57 26 4
gpt4 key购买 nike

我想画一个这样的图。
desired

但我唯一能画的图是:
current

我使用的代码:

graph [rankdir = LR]

node [shape=box]

x1;x2;x3;y1;y2;y3;y4;y5;y6;y7;y8;

node [shape=oval]

ind60;dem60;dem65

{x1,x2,x3} -> ind60[arrowhead=none arrowtail=normal dir=both]

{y1,y2,y3,y4} -> dem60[arrowhead=none arrowtail=normal dir=both]

dem65 -> {y5,y6,y7,y8}

ind60->dem60 dem60->dem65 ind60->dem65

如何绘制所需的图?

最佳答案

您想要实现的第一步,使用 rank=same , 隐形边缘 , 团体 , 和 constraint=false :

digraph {

node [shape=box]
{
rank=same;
y1;y2;y3;y4;
}

dem60[shape=oval];
{y1;y2;y3;y4} -> dem60 [dir=back];

{
rank=same;
x2 [group=left];
ind60[shape=oval];
dem65[shape=oval];
y6 [group=right];

x2 -> ind60 [dir=back];
ind60 -> dem65
dem65 -> y6;
}

// Invisible edges to order vertically node groups
edge[style=invis];
x1[group=left];
x3[group=left];
x1 -> x2 -> x3;
node[group=right];
y5 -> y6 -> y7 -> y8;

node[group=""]
edge[style=solid]
ind60->dem60
dem60->dem65

edge[constraint=false];
ind60 -> x1;
ind60 -> x3;
dem65 -> y5;
dem65 -> y7;
dem65 -> y8;
}
  • group强制节点(同一组)的垂直对齐。
  • rank=same使节点保持在同一等级。
  • 不可见边在垂直组内强制执行等级顺序。
  • constraint=false删除某些边的约束计算。
  • dir=back反转显示的边缘方向。
  • 关于GraphViz - 子图的对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43599738/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com