使用 tikzpicture/forest 制作概率树

使用 tikzpicture/forest 制作概率树

我想使用tikzpicture或森林创建概率树。我对这两者都进行了一些实验,但在使用这两个程序时都遇到了一些问题。

tikzpicture首先,我有我想要创建的代码:

![\begin{tikzpicture}\[grow=right, sloped\]
\node\[bag\] {(1, 1)}
child {
    node\[bag\] {($\frac{1}{2}$, $\frac{1}{2}$)}        
        child {
            node\[\] {($\frac{1}{4}$, $\frac{1}{4}$)}
            edge from parent
            node\[above\] {$T$}
            node\[below\]  {$\frac{1}{2}$}
        }
        child {
            node\[\] {(1, 1)}
            edge from parent
            node\[above\] {$H$}
            node\[below\]  {$\frac{1}{2}$}
        }
        edge from parent 
        node\[above\] {$T$}
        node\[below\]  {$\frac{1}{2}$}
}
child {
    node\[bag\] {(2, 2)}        
    child {
            node\[\] {(1, 1)}
            edge from parent
            node\[above\] {$T$}
            node\[below\]  {$\frac{1}{2}$}
        }
        child {
            node\[\] {(4, 4)}
            edge from parent
            node\[above\] {$H$}
            node\[below\]  {$\frac{1}{2}$}
        }
    edge from parent         
        node\[above\] {$H$}
        node\[below\]  {$\frac{1}{2}$}
};
\end{tikzpicture}][1]

接下来,我有我的森林代码:

\begin{forest} 
  for tree={grow=0,l=3cm,anchor=west,child anchor=west}
    [{$(1, 1)$}
      [{$(\frac{1}{2}, \frac{1}{2})$}
        [{$(\frac{1}{4}, \frac{1}{4})$}]
        [{$(1,1)$}]
      ]
      [{$(2, 2)$}
        [{$(1,1)$}]
        [{$(4,4)$}]
      ]
    ]
\end{forest}

tikzpicture非常喜欢这种风格和间距,但我希望能够在底部放置标签,上面写着“$t=0$”、“$t=1$”、“$t=2$”等,这些标签位于一条水平线上?有没有办法做到这一点tikzpicture?我想要像答案中的标签一样这个问题

关于森林代码,我认为图表太过紧凑和拥挤。有没有办法让它更分散,就像tikzpicture?此外,有没有办法像上面一样创建标签“$t=0$”、“$t=1$”、“$t=2$”等?

上面的图是我的tikzpicture,下面的图是我的森林。

答案1

拉开树间距的一种方法forest是增加兄弟树之间的最小距离。如上所述,fit也可用于调整扩展。

\documentclass{standalone}
\usepackage{forest}
\usetikzlibrary{positioning}

\begin{document}

\begin{forest}
  for tree={grow=0,l=3cm,anchor=west,child anchor=west, s sep+=10pt}
    [{$(1, 1)$}, name=t0
      [{$(\frac{1}{2}, \frac{1}{2})$}
        [{$(\frac{1}{4}, \frac{1}{4})$}, name=bot]
        [{$(1,1)$}]
      ]
      [{$(2, 2)$}, name=t1
        [{$(1,1)$}]
        [{$(4,4)$}, name=t2]
      ]
    ]
    \coordinate [below=of bot] (coord);
    \foreach \i in {0,...,2}
      \node at (coord -| t\i) {$t=\i$};
\end{forest}

\end{document}

更宽敞的树

相关内容