我正在尝试为二叉树的节点着色。主要想法是我想创建一个二叉树,其子树的节点都是彩色的。我没有节点的首选颜色,我只是想用某种方式为它们着色。
[![我想要实现的目标][1]]
我也使用过此代码来制作二叉树,但没有颜色:
\begin{forest}
for tree={
grow=south,
circle, draw, minimum size=2ex, inner sep=1.5pt,
s sep=1mm
}
[
[
[ [ [ [] [] ] [[] [] ] ] [ [[] [] ] [[] [] ] ] ]
[
[ [[] [] ] [ [] [] ] ] [ [[] [] ] [[] []] ]
]
]
[
[
[ [[] [] ] [[] [] ] ] [ [[] [] ] [[] [] ] ]
] [ [ [[] [] ] [[] [] ] ] [ [[] [] ] [[] [] ] ] ]
]
]
\end{forest}
有没有办法使用森林包来给节点着色?[1]:https://i.stack.imgur.com/XxeCH.png
答案1
您可以for tree
在任何子树上使用。
\documentclass{article}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree={
grow=south,
circle, draw, minimum size=2ex, inner sep=1.5pt,
s sep=1mm
}
[
[, for tree={fill=red}
[ [ [ [] [] ] [[] [] ] ] [ [[] [] ] [[] [] ] ] ]
[
[ [[] [] ] [ [] [] ] ] [ [[] [] ] [[] []] ]
]
]
[, for tree={fill=blue}
[
[ [[] [] ] [[] [] ] ] [ [[] [] ] [[] [] ] ]
] [ [ [[] [] ] [[] [] ] ] [ [[] [] ] [[] [] ] ] ]
]
]
\end{forest}
\end{document}