![フォレストツリーを変更するにはどうすればいいですか?](https://rvso.com/image/335476/%E3%83%95%E3%82%A9%E3%83%AC%E3%82%B9%E3%83%88%E3%83%84%E3%83%AA%E3%83%BC%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
% 最後のレベルを 2 つの上位レベル間で共有する必要があります。 どのようにコーディングすればよいでしょうか?
\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}