Graphviz点中节点的合理对齐
我正试图整理一个家谱,以帮助我理解一个受欢迎的电视节目,这个项目已经成熟了 为了说明这棵树,我使用了graphviz的点函数,这是我以前用来说明复杂网络的工具。不幸的是,对我来说,这是一段时间以前的事了,我想做的一些基本改变我都想做 在下面的示例中(此链接处的图像),我希望将明显的关系保持在一起,而不是让节点跨画布连接。例如,Sansa和Tyrion一起向左移动,Eddard和Catelyn一起移动Catelyn,Lyanna和Rhaegar一起移动Lyanna向右移动 我尝试过集群和群组,但不知道我做错了什么Graphviz点中节点的合理对齐,graphviz,dot,Graphviz,Dot,我正试图整理一个家谱,以帮助我理解一个受欢迎的电视节目,这个项目已经成熟了 为了说明这棵树,我使用了graphviz的点函数,这是我以前用来说明复杂网络的工具。不幸的是,对我来说,这是一段时间以前的事了,我想做的一些基本改变我都想做 在下面的示例中(此链接处的图像),我希望将明显的关系保持在一起,而不是让节点跨画布连接。例如,Sansa和Tyrion一起向左移动,Eddard和Catelyn一起移动Catelyn,Lyanna和Rhaegar一起移动Lyanna向右移动 我尝试过集群和群组,但不
graph got {
subgraph gen2 {
rank = same
La2a [shape=box, label="Tywin Lanister"];
Tu2a [shape=box, label="Hoster Tully"];
S2a [shape=box, label="Rickard Stark"];
Ta2a [shape=box, label="Aerys II Targaryen"];
}
subgraph gen2sons {
rank = same
Tu2asons [shape=point];
S2asons [shape=point];
Ta2asons [shape=point];
La2asons [shape=point];
}
subgraph gen3 {
rank = same
S3a [shape=box, label="Eddard \"Ned\" Stark"];
S3b [shape=box, label="Catelyn Stark"];
S3aS3b [shape=point];
S3c [shape=box, label="Lyanna Stark"];
S3d [shape=box, label="Brandon Stark"];
S3e [shape=box, label="Benjen Stark"];
Ta3a [shape=box, label="Rhaegar Targaryen"];
Ta3b [shape=box, label="Daenerys Targaryen"];
Ta3c [shape=box, label="Jaehaerys Targaryen"];
S3cTa3a [shape=point];
La3a [shape=box, label="Jamie Lanister"];
La3b [shape=box, label="Cersei Lanister"];
}
subgraph gen3sons {
rank = same
S3aS3bsons [shape=point];
S3cTa3asons [shape=point];
}
subgraph gen4 {
rank = same
S4b [shape=box, label="Sansa Stark"];
S4a [shape=box, label="Rob Stark"];
S4c [shape=box, label="Arya Stark"];
S4d [shape=box, label="Brandon Stark"];
S4e [shape=box, label="Rickon Stark"];
Sn4a [shape=box, label="Jon Snow"];
La3c [shape=box, label="Tyrion Lanister"];
}
// Sons and Daughters
La2a -- La2asons
La2asons -- La3a
La2asons -- La3b
La2asons -- La3c
Tu2a -- Tu2asons
Tu2asons -- S3b
S2a -- S2asons
S2asons -- S3a
S2asons -- S3c
S2asons -- S3d
S2asons -- S3e
Ta2a -- Ta2asons
Ta2asons -- Ta3a
Ta2asons -- Ta3b
Ta2asons -- Ta3c
S3aS3b -- S3aS3bsons
S3aS3bsons -- S4a
S3aS3bsons -- S4b
S3aS3bsons -- S4c
S3aS3bsons -- S4d
S3aS3bsons -- S4e
S3cTa3a -- S3cTa3asons
S3cTa3asons -- Sn4a
// Marriage
S3a -- S3aS3b -- S3b
La3c -- S4b
S3c -- S3cTa3a -- Ta3a
}
您的图表很长,但可能会对如何使用不可见的列和列来实现这一点有所帮助,或多或少会将节点强制到“网格”中。在那个例子中,我用一个更简单的例子来演示,但从您已经做的事情来看,我确信您可以自己尝试我的方法。希望对你有用