我有一个点文件,我在其中创建子图簇,我希望按特定顺序显示,让我们说我有这个:
digraph G {
splines=true;
sep="+25,25";
overlap=scalexy;
nodesep=0.6;
subgraph cluster_2 {
label="ADD_MORE_PROBLEMS";
subgraph cluster_3 {
label="pattern";
N1 [label="problem"];
}
subgraph cluster_4 {
label="replacement";
N2 [label="problem"];
N3 [label="problem"];
}
}
}
创造了:
我如何确保"模式"出现在"更换"的左侧(我可能有任意数量的子图。)
答案 0 :(得分:3)
我无法回答,但可以提供一些澄清。强制布局的常用方法是引入隐藏边。在这种情况下,它不起作用。
如果没有嵌套群集,您可以使用rank=same
将连接的边缘强制放在同一级别上。然后,不可见的边N1 -> N2 [style = invis]
会强制节点进入正确的排序。
但是,使用排名约束节点会破坏集群成员资格并阻止该计划运行。
修改后的图表显示了结果。可能没有一般的解决方案。
digraph G {
splines=true;
sep="+25,25";
overlap=scalexy;
nodesep=0.6;
subgraph cluster_2 {
label="ADD_MORE_PROBLEMS";
subgraph cluster_3 {
label="pattern";
N1 [label="problem 1"];
}
subgraph cluster_4 {
label="replacement";
N2 [label="problem 2"];
N3 [label="problem 3"];
}
// Introduce hidden edge (shown dashed)
N1 -> N2 [style = dashed];
// Force nodes to remain at same rank
{ rank = same; N1; N2; }
}
}
答案 1 :(得分:3)