![숲 나무를 수정하는 방법은 무엇입니까?](https://rvso.com/image/335476/%EC%88%B2%20%EB%82%98%EB%AC%B4%EB%A5%BC%20%EC%88%98%EC%A0%95%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
%두 상위 레벨 간에 공유되는 마지막 레벨을 가져와야 합니다. 어떻게 코딩할 수 있나요?
\documentclass[tikz,border=10pt]{standalone}
\usepackage{forest}
\usetikzlibrary{shadows}
\begin{document}
\begin{forest}
shade me/.style={%
bottom color=#1!25,
top color=#1!5,
draw=#1,
drop shadow,
font=\large,
},
my label/.style n args=2{%
edge label={node [midway, black, font=\sffamily\large, #1] {#2}}
},
where n children=0{%
shade me=blue!50!cyan,
}{%
if level=0{%
shade me=green!75!gray,
}{%
shade me=blue!75!magenta,
}
},
for tree={%
delay={content/.wrap value={\strut #1}},
edge={red,->},
l sep+=25pt,
s sep+=20pt
}
[100000 individuals
[100 affected, my label={above, xshift=1cm}{}
%[No, my label={above, sloped}{$< 30$}]
[{95\% true positives}, my label={below, xshift=-1.7cm}{}
[{95 + 999 test positive Total = 1094}, my label={above, sloped}{}]]]
[99900 unaffected, my label={above, sloped}{}
[{1\% false positives}, my label={below, xshift=1.5cm}{}
[{95 + 999 test positive Total = 1094}, my label={above, sloped}{}]]] ]
]
]
\end{forest}
\end{document}
답변1
어린이 phantom
는 노드를 중앙에 배치하는 데 도움을 줄 수 있습니다.
\documentclass[tikz,border=10pt]{standalone}
\usepackage{forest}
\usetikzlibrary{shadows}
\begin{document}
\begin{forest}
shade me/.style={%
bottom color=#1!25,
top color=#1!5,
draw=#1,
drop shadow,
font=\large,
},
my label/.style n args=2{%
edge label={node [midway, black, font=\sffamily\large, #1] {#2}}
},
where n children=0{%
shade me=blue!50!cyan,
}{%
if level=0{%
shade me=green!75!gray,
}{%
shade me=blue!75!magenta,
}
},
for tree={%
delay={content/.wrap value={\strut #1}},
edge={red,->},
l sep+=25pt,
s sep+=20pt
}
[100000 individuals
[100 affected, my label={above, xshift=1cm}{}
%[No, my label={above, sloped}{$< 30$}]
[{95\% true positives}, my label={below, xshift=-1.7cm}{}
[,phantom] [{95 + 999 test positive Total = 1094}, my label={above, sloped}{}, name=aux1]]]
[99900 unaffected, my label={above, sloped}{}
[{1\% false positives}, my label={below, xshift=1.5cm}{}, name=aux
% [{95 + 999 test positive Total = 1094}, my label={above, sloped}{}]
]] ]
]
]
\draw[red, ->] (aux)--(aux1);
\end{forest}
\end{document}
답변2
지금까지 이 작업을 수행했지만(아래 참조) 마지막 레벨을 중앙에 맞추지 못했습니다.
\documentclass[tikz,border=10pt]{standalone}
\usepackage{forest}
\usetikzlibrary{shadows, positioning}
\begin{document}
\begin{forest}
shade me/.style={%
bottom color=#1!25,
top color=#1!5,
draw=#1,
drop shadow,
font=\large,
},
my label/.style n args=2{%
edge label={node [midway, black, font=\sffamily\large, #1] {#2}}
},
where n children=0{%
shade me=blue!50!cyan,
}{%
if level=0{%
shade me=green!75!gray,
}{%
shade me=blue!75!magenta,
}
},
for tree={%
delay={content/.wrap value={\strut #1}},
edge={red,->},
l sep+=25pt,
s sep+=20pt
}
[100000 individuals, name=init,
[100 affected, my label={above, xshift=1cm}{}
% [No, my label={above, sloped}{$< 30$}]
[{95\% true positives}, my label={below, xshift=-1.7cm}{}
[{95 + 999 test positive Total = 1094}, name=end, below=(1cm of init), my label={above, sloped}{}]]]
[99900 unaffected, my label={above, sloped}{}
[{1\% false positives}, name=start,my label={below, xshift=1.5cm}{}
% [{95 + 999 test positive Total = 1094}, my label={above, sloped}{}]]]
]
]
]
\draw[->, red](start) -- (end);
\end{forest}
\end{document}