수동으로 추가한 나무 가장자리에 어떻게 라벨을 붙일 수 있나요?

수동으로 추가한 나무 가장자리에 어떻게 라벨을 붙일 수 있나요?

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.5yshift

여기에 이미지 설명을 입력하세요

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

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}

관련 정보