如何使用 LaTex 中的森林包为二叉树的节点着色

如何使用 LaTex 中的森林包为二叉树的节点着色

我正在尝试为二叉树的节点着色。主要想法是我想创建一个二叉树,其子树的节点都是彩色的。我没有节点的首选颜色,我只是想用某种方式为它们着色。

[![我想要实现的目标][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}

相关内容