
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)?
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 sep
Dimension
Auch die sloped
Version des Etiketts mit Positionierung pos=0.5
oder Mitte angepasst mit Hilfe vonyshift
\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
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}