我希望制作一棵树,其中边缘与子节点的角度在每一层都相同。我知道这可能会导致节点重叠。
我想要的东西看起来像这样:
但不幸的是我的树看起来像这样:
我的树使用这个 LaTeX:
\tikzset{every tree node/.style={minimum width=2em,draw,circle},
blank/.style={draw=none},
edge from parent/.style=
{draw,edge from parent path={(\tikzparentnode) -- (\tikzchildnode)}},
level distance=1cm
}
\begin{tikzpicture}
\Tree [ .1 [ .2 \edge[blank]; \node[blank]{}; [ .4 \edge[blank]; \node[blank]{}; [ .5 \edge[blank]; \node[blank]{}; [ .6 \edge[blank]; \node[blank]{}; 7 ] ] ] ] 3 ]
\end{tikzpicture}
感谢帮助
答案1
我能够使用 tikz\node
而不是 tikz-qtree来重新创建第一幅图像中的树\Tree
:
\begin{tikzpicture}
\node[circle,draw]{1}
child{node[circle,draw]{2} child[missing] child{node[circle,draw]{4} child[missing] child{node[circle,draw]{5} child[missing] child{node[circle,draw]{6} child[missing] child{node[circle,draw]{7}}} } } }
child{node[circle,draw]{3}} ;
\end{tikzpicture}
编辑: 这也可以使用 forest 来完成,它具有更好的语法:
\begin{forest}
for tree={draw,circle,calign=fixed edge angles}
[1 [2 [,phantom] [4 [,phantom] [5 [,phantom] [6 [,phantom] [7 [,phantom] ]]]]] [3]]
\end{forest}
感谢@Jasper Habicht 建议使用森林。