Wie kann die Kante eines Baums beschriftet werden, die manuell hinzugefügt wurde?

Wie kann die Kante eines Baums beschriftet werden, die manuell hinzugefügt wurde?

Man kann TikZ verwenden, um einen Baum manuell zu erstellen, oder denWaldpaketum den Prozess zu vereinfachen. Im Folgenden zeige ich, wie ich dieWaldpaketum einen binären Baum zu erstellen und ihn in einen rekombinanten Baum umzuwandeln, indem ich TikZ verwende, um einige Kanten manuell zu zeichnen. Ich kann jeder Kante, die nicht manuell hinzugefügt wurde, eine Beschriftung hinzufügen (wie ich es unten mit der Beschriftung mache)Känguru), kann ich nicht herausfinden, wie ich einer Kante eine Beschriftung hinzufügen kann, dieWarmanuell hinzugefügt. Wie beschrifte ich beispielsweise die Kante von Knoten $S_1(T)=4$zu Knoten $S_2(TH)=S_2(HT)=8$(siehe folgendes Bild)?

rekombinanter Binärbaum

Ich habe einfach versucht, denselben Befehl (also edge label={node [near end, above left, font=\footnotesize]{Kangaroo}}) in den folgenden Code nach zu kopieren und einzufügen (T) -- (TH), aber es hat nicht funktioniert.

\begin{forest}  
for tree={grow'=east}
[{$S_0=8$ },
    [{$S_1(T)=4$ },name=T,  
        [{$S_2(TT)=2$}, edge label={node [near end, above  left, font=\footnotesize]{Kangaroo}} ]
        [, phantom]
    ]
    [, phantom
        [{\qquad $S_2(TH)=S_2(HT)=8$},name=TH  ] 
    ]
    [{$S_1(H)=16$}, name=H
        [, phantom]
        [{$S_2(HH)=32$} ] 
    ]   
] 
\draw (T) -- (TH)  (H) -- (TH);
\end{forest}

Zu Ihrer Information: Die [,Phantom]-Knoten sind lediglich leere Knoten, die als Abstandshilfe dienen sollen. Sie sind nicht wirklich erforderlich.

Antwort1

Sie suchen l sepDimension

Auch die slopedVersion des Etiketts mit Positionierung pos=0.5oder Mitte angepasst mit Hilfe vonyshift

Bildbeschreibung hier eingeben

\begin{forest} 
    for tree={grow'=east, s sep=2em, l sep=2cm}
    [{$S_0=8$ },
    [{$S_1(T)=4$ },name=T,  
    [{$S_2(TT)=2$}, edge label={node [pos=0.5, above, yshift=-4pt ,sloped, 
     font=\scriptsize]{Kangaroo}} ]
    [, phantom]
    ]
    [, phantom
    [{\qquad $S_2(TH)=S_2(HT)=8$},name=TH  ] 
    ]
    [{$S_1(H)=16$}, name=H
    [, phantom]
    [{$S_2(HH)=32$} ] 
    ]   
    ] 
    \draw (T) -- (TH)  (H) -- (TH);
\end{forest}

BEARBEITEN

Bildbeschreibung hier eingeben

Fügen Sie Folgendes hinzu --

\node at ($(T)!0.5!(TH)$)
        [rotate=-22, yshift=5pt]
        {\footnotesize\color{red} Kangaroo};

MWE

 \begin{forest} 
    for tree={grow'=east, s sep=2em, l sep=2cm}
    [{$S_0=8$ },
    [{$S_1(T)=4$ },name=T,  
    [{$S_2(TT)=2$}, edge label={node [pos=0.5,above,yshift=-4pt,sloped, 
    font=\footnotesize]{Kangaroo}} ]
    [, phantom]
    ]
    [, phantom
    [{\qquad $S_2(TH)=S_2(HT)=8$},name=TH  ] 
    ]
    [{$S_1(H)=16$}, name=H
    [, phantom]
    [{$S_2(HH)=32$} ] 
    ]   
    ] 
    \draw (T) -- (TH)  (H) -- (TH);
    \node at ($(T)!0.5!(TH)$)
    [rotate=-22, yshift=5pt]
    {\footnotesize\color{red} Kangaroo};
\end{forest}

verwandte Informationen