Remova círculos e adicione cores aos elementos da árvore

Remova círculos e adicione cores aos elementos da árvore

Pergunta: Estou procurando a imagem adicionada abaixo. E quero adicionar cores diferentes a cada nó.

Isto é o que eu fiz até agora:

\documentclass{article} 
\usepackage{forest}

\begin{document}
    \large
    \begin{forest}
        for tree={circle,draw, l sep=10pt}
        [36,black 
        [2]
        [18
        [2] 
        [9
        [3]
        [3]
        ]       
        ]
        ]
        \end{forest}
\end{document}

insira a descrição da imagem aqui

Responder1

Você quer dizer assim? Basta adicionar os tikzparâmetros de desenho após o texto do nó (por exemplo, draw=red, fill=green, e text=blue). Você pode remover os círculos de um determinado nó adicionando draw=none.

\documentclass{article} 
\usepackage{forest}

\begin{document}
    \large
    \begin{forest}
        for tree={circle,draw, l sep=10pt}
        [36,draw=none 
        [2,fill=red]
        [18,draw=none
        [2,fill=yellow] 
        [9,draw=none
        [3,fill=green]
        [3,fill=cyan]
        ]       
        ]
        ]
        \end{forest}
\end{document}

saída

Ou

\documentclass{article} 
\usepackage{forest}
\newcounter{nextcolor}
\xdef\LstColor{{"red","yellow","green","blue","orange","magenta","cyan"}}
\tikzset{fill next color/.style={%
/utils/exec=\pgfmathsetmacro{\mycolor}{\LstColor[\number\value{nextcolor}]}
\stepcounter{nextcolor},
fill=\mycolor}}
\begin{document}
    \large
    \begin{forest}
        for tree={l sep=10pt,
        if n children=0{circle,draw,fill next color}{}}
        [36,black 
        [2]
        [18
        [2] 
        [9
        [3]
        [3]
        ]       
        ]
        ]
    \end{forest}
\end{document}

informação relacionada