如何用 tikz 复制概率树?

如何用 tikz 复制概率树?

我想在 tikz 中复制以下概率树。到目前为止,我的问题是不同第三级分支的节点连接在一起。

此外,我怎样才能将文本添加到分支中,使其保持水平,而不是朝着分支的方向?

有谁能帮助我吗?

在此处输入图片描述

答案1

这是一个forest解决方案:

概率树

forest有关其用于指定树的括号符号的介绍,请参阅我对先前问题的回答

代码:

\documentclass[tikz,border=10pt]{standalone}
\usepackage{forest}
\begin{document}
\tikzset{
  labelling/.style={inner sep=1.5pt, font=\footnotesize\sffamily, align=left}
}
\begin{forest}
  make label/.style={
    if n=1{
      edge label={node[midway, below, anchor=north east, labelling] {#1}}
    }{
      edge label={node[midway, above, labelling, anchor=south east] {#1}}
    }
  },
  for tree={
    grow=east,
    l sep+=15mm,
    parent anchor=east,
    child anchor=west,
    delay={
      if n children=0{
        if content={}{}{
          labelling,
          anchor=west,
          for parent={
            tier=not quite terminus,
            for tree={
              calign=midpoint
            },
          },
        }
      }{
        shape=coordinate
      }
    },
  }
  [, for tree={calign=fixed edge angles}, tikz={\draw [densely dashed] (!11) +(0,-7.5mm) node [below, labelling] {once per day} -- (!ll) -- +(0,7.5mm);}
    [, make label={Some event\\or other occurs\\sometime\\$p=\alpha$}
      [
        [Some further thing]
        [And another one]
      ]
      [, phantom]
    ]
    [, make label={Some other\\event or other\\occurs sometime\\$p=1-\alpha$}
      [, make label={Something\\$p=\delta$}
        [Something here]
        [Something else]
      ]
      [, make label={Something else\\$p=1-\delta$}
        [Some other thing]
        [Another thing else]
      ]
    ]
  ]
\end{forest}
\end{document}

相关内容