포리스트 트리 노드에 진행률 표시줄을 추가하는 방법은 무엇입니까?

포리스트 트리 노드에 진행률 표시줄을 추가하는 방법은 무엇입니까?

내 트리의 일부 노드 아래에 진행률 표시줄을 추가하고 싶습니다.

이 같은:

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

내 트리 코드는 다음과 같습니다

\package{forest}
\begin{document}
\begin{forest}
for tree={calign=fixed edge angles},
[Asp \textsubscript{Habitual} [solere\\]
[Asp \textsubscript{Predispositional}
[tendere]
[Asp \textsubscript{Repetetive \textsubscript{i}} [tornare]
[Mod \textsubscript{Volition}
[volere][,phantom]
]]]]
\end{forest}
\end{document}

내 진행률 바코드는 다음과 같습니다.

\package{progressbar}
\begin{document}
\progressbar[linecolor=black, filledcolor=green]{0.6}\llap{\raisebox{1.5pt
{\tiny$60\%$}\hspace{0.8cm}} 
\end{document}

이 두 가지를 어떻게 결합할 수 있나요? 각 노드 뒤에 진행바 코드를 추가해 보았는데, 포리스트 환경에서는 코드가 작동하지 않는 것 같습니다.

많은 감사드립니다!

답변1

\progressbarTikZ를 내부적으로 사용하고 TikZ 그림을 중첩하는 것은 적어도 귀찮기 때문에 \progressbar자체 tikzpicture.

막대가 비대칭으로 생성되었기 때문에(가장 왼쪽 지점이엑스= 0) 우리는 그것을 행렬 안에 넣을 것이고, 이는 다시 우리가 a를 사용할 수 있게 해주는 노드처럼 배치될 수 있습니다 label.

progressbar네 가지 인수를 허용하는 포리스트에 키를 추가했습니다 .

  1. 옵션 \progressbar,
  2. 진행 가치와
  3. 텍스트 노드에 대한 옵션
  4. 그 내용.

암호

\documentclass[tikz]{standalone}
\usepackage{forest, progressbar}
\forestset{
  progressbar/.style n args={4}{
    label={[matrix, inner sep=+0pt]below:%
      \let\tikzpicture\scope
      \let\endtikzpicture\endscope
      \progressbar[{#1}]{#2}
      \path (Begin) -- node[{midway,anchor=center,node font=\tiny,#3}] {#4\,\%} (End);
      \expandafter\pgfmatrixendrow}}}
\progressbarchange{linecolor=black, filledcolor=green}
\begin{document}
\begin{forest} for tree={calign=fixed edge angles}
[Asp \textsubscript{Habitual}
  [solere, progressbar={}{.6}{}{60}]
  [Asp \textsubscript{Predispositional}
    [tendere, progressbar={filledcolor=yellow}{.3}{}{30}]
    [Asp \textsubscript{Repetetive \textsubscript{i}}
      [tornare]
      [Mod \textsubscript{Volition}
        [volere, progressbar={filledcolor=blue, width=1cm}{.85}{white}{85}]
        [,phantom]
      ]
    ]
  ]
]
\end{forest}
\end{document}

산출

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

답변2

막대를 원하는 터미널 노드 뒤에 이 코드를 지정하여 문제를 해결했습니다.

[volere, tikz={\node[below=-2.5pt of .south]  
{\progressbar[linecolor=black, filledcolor=green]{0.6}\llap{\raisebox{1.5pt
{\tiny$60\%$}\hspace{0.8cm}}};}]

전체 코드는 다음과 같습니다.

\usepackage{tikz}
\usepackage{forest}
\begin{document}
\begin{forest}
 for tree={calign=fixed edge angles},
 [Asp \textsubscript{Habitual} [solere]
 [Asp \textsubscript{Predispositional}
 [tendere]
 [Asp \textsubscript{Repetetive \textsubscript{i}} [tornare]
 [Mod \textsubscript{Volition}
 [volere, tikz={\node[below=-2.5pt of .south]  { \progressbar[linecolor=black, filledcolor=green]{0.6}\llap{\raisebox{1.5pt}{\tiny$60\%$}\hspace{0.8cm}}};}][,phantom]
 ]]]]
\end{forest}
\end{document}

관련 정보