我刚刚开始使用Latex生成数学文档。我想要包含概率树并找到Tikz库。我树的代码的第一位看起来像:
%To create probability trees, use tikz package
\usepackage{tikz}
\usetikzlibrary{trees}
% Insert a probability tree showing first level only
% -------------------------------------------------------------
% Set the overall layout of the tree
\tikzstyle{level 1}=[level distance=3.5cm, sibling distance=4.0cm]
\tikzstyle{level 2}=[level distance=3.5cm, sibling distance=2cm]
% Define styles for bags and leafs
\tikzstyle{bag} = [text centered]
% Draw probability tree
\begin{tikzpicture}[grow=right, sloped]
\node[bag] {}
child {
node[bag] {Not diseased $\left( D^- \right)$}
edge from parent
node[below] {$0.90$}
}
child {
node[bag] {Diseased $\left( D^+ \right)$}
edge from parent
node[above] {Prevalence}
node[below] {$0.10$}
};
\end{tikzpicture} \\
生成的树看起来有点像这样:
Diseased (D+)
/
Prev /
/ 0.10
/
\
\
0.90 \
\
Not diseased (D-)
......如果你得到我的漂移。
我希望能够在节点文本中输入换行符,以便(D +)和(D-)出现在下面。我尝试过使用\\和\ newline但无济于事。有什么建议吗?
提前致谢。
答案 0 :(得分:2)
从您的代码开始,
\documentclass[multi=false,border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{trees}
\tikzstyle{level 1}=[level distance=3.5cm, sibling distance=4.0cm]
\tikzstyle{level 2}=[level distance=3.5cm, sibling distance=2cm]
\tikzstyle{bag} = [align=center]
\begin{document}
\begin{tikzpicture}[grow=right, sloped]
\node[bag] {}
child {
node[bag] {Not diseased\\ $\left( D^- \right)$} %% 1
edge from parent
node[below] {$0.90$}
}
child {
node[bag] {Diseased\\ $\left( D^+ \right)$} %% 2
edge from parent
node[above] {Prevalence}
node[below] {$0.10$}
};
\end{tikzpicture}
\end{document}
完成工作:请注意,我仅将\tikzstyle{bag}
从[text centered]
更改为[align=center]
,并在标有\\
和%% 1
的行中添加了%% 2
结果树:
答案 1 :(得分:0)
在Qtree中,允许在节点内使用换行符(
\\
)。 TikZ节点默认情况下不允许这样做,但是align
选项(在PGF / TikZ 2.1版或更高版本中)使它成为副作用。感谢Alan Munn弄清楚了这一点。在PGF / TikZ 2.1版之前,解决方法是使用选项
text width=2em,text centered
。