手動で追加されたツリーのエッジにラベルを付けるにはどうすればよいでしょうか?

手動で追加されたツリーのエッジにラベルを付けるにはどうすればよいでしょうか?

TikZを使用して手動でツリーを作成するか、森林パッケージプロセスを簡単にするために、以下でどのように使用するかを説明します。森林パッケージバイナリツリーを作成し、TikZを使用して手動でエッジを描画することで、それを組み換えツリーに変換します。手動で追加されていないエッジにラベルを追加できます(以下でラベルを追加しているように)カンガルー)、エッジにラベルを追加する方法がわかりません。だった手動で追加します。たとえば、ノードから$S_1(T)=4$ノードへのエッジにラベルを付けるにはどうすればよいです$S_2(TH)=S_2(HT)=8$か (次の図を参照)。

組み換え二分木

同じコマンド (つまりedge label={node [near end, above left, font=\footnotesize]{Kangaroo}}) を の後の以下のコードにコピーして貼り付けようとしました(T) -- (TH)が、機能しませんでした。

\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}

ちなみに、[,phantom] ノードは間隔を確保するための単なる空ノードであり、実際には必要ありません。

答え1

l sepあなたは次元を探しています

また、slopedラベルの位置pos=0.5や途中で調整したバージョンは、yshift

ここに画像の説明を入力してください

\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}

編集

ここに画像の説明を入力してください

以下を追加します --

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

ムウェ

 \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}

関連情報