Tree 如何使不可见节点占据graphviz中的空间?
我想用graphviz绘制一个二叉树,一个节点的左子节点出现在右子节点的左(duh)处是很重要的。如果没有左边的孩子,我希望在左边有一个空白,以便在视觉上清楚地表明右边的孩子就是右边的孩子。如果没有合适的孩子,我也会这样做(右边应该有一个空白) 例如,我想要的是:Tree 如何使不可见节点占据graphviz中的空间?,tree,drawing,binary-tree,graphviz,Tree,Drawing,Binary Tree,Graphviz,我想用graphviz绘制一个二叉树,一个节点的左子节点出现在右子节点的左(duh)处是很重要的。如果没有左边的孩子,我希望在左边有一个空白,以便在视觉上清楚地表明右边的孩子就是右边的孩子。如果没有合适的孩子,我也会这样做(右边应该有一个空白) 例如,我想要的是: A A \ instead of | B B 我可以使用ordering=“out”确保Graphviz将左子项放在右子项之前,但如果
A A
\ instead of |
B B
我可以使用ordering=“out”确保Graphviz将左子项放在右子项之前,但如果没有左子项,则右子项可能出现在其父项的正下方
如果我在缺少子节点的地方添加虚拟节点,我会得到正确的布局,但是虚拟节点会出现在图片上(我不想要它们)。我尝试对连接到它们的虚拟节点和边使用style=“invi”,但对于graphviz,它们似乎不存在。我怎样才能避开这个问题?迟做总比不做好 您可能将虚拟节点留空(
“”
)。如果您给它一个合理大小的标签,它工作良好:
graph Test
{
node[ shape = plaintext ];
C [ label = "C", style = invis ];
A -- B;
A -- C [ style = invis ];
}
这是一个很好的例子,说明MWE可以节省时间和精力
如果使用两个填充的不可见节点,效果会更好,因此您希望看到的节点肯定会位于侧面,而不是位于其祖先的正下方