我对如何可视化树木有疑问。现在我使用graphviz或dot language并遇到一些问题。
简要介绍一下我的背景。 我有一系列的树木。通过添加一些边缘,在步骤T-1上从树获得步骤T上的树。我想为每棵树创建图像。 在图像查看器中查看这些图像我单击下一步按钮,并希望在步骤T-1到步骤T中轻松查看树中的更改。
我现在在做什么。我编写了脚本,创建了用于为每个图形创建图像的“点”代码。在图像查看器中单击“下一步”按钮时,我会看到节点如何跳跃。但我不喜欢它。我希望节点将保留在每张图片上的相同位置,我想要看到的唯一更改是新边缘和新节点的显示方式。
有没有办法将节点粘在他们的位置?
答案 0 :(得分:3)
有可能。您必须使用的节点和边缘有pos
属性(包含坐标)。
要获取pos
值的一些示例,您只需调用dot
而无需任何指定的输出格式。这将为您提供一个添加了坐标的.dot
文件
所以文件minimal.dot
digraph G {
a [label="Node A"];
b [label="Node B"];
a -> b;
}
由dot minimal.dot
处理的将导致:
digraph G {
node [label="\N"];
graph [bb="0,0,82,108"];
a [label="Node A", pos="41,90", width="1.14", height="0.50"];
b [label="Node B", pos="41,18", width="1.14", height="0.50"];
a -> b [pos="e,41,36 41,72 41,64 41,55 41,46"];
}
边缘和每个节点现在都有pos
属性。这应该可以帮到你。