如何使用 TikZ 包绘制图形和概率表

如何使用 TikZ 包绘制图形和概率表

我需要帮助使用 TikZ 包绘制贝叶斯网络的有向无环图以及每个节点的概率。以下是示例:

在此处输入图片描述

如上例所示,表格网格可以是完整的,也可以是部分的。

答案1

我心情很好,可以为您提供最小工作示例(MWE)但在以后的问题中,我建议你提供一个。(这里是老师的暑假:)例如:“只需为我做”文本构建块

这是tikz。你可以做剩下的练习。请参阅手册。您也可以texdoc pgf在终端或命令行中输入。

这里有一些解释。

  • 通常,节点命令如下:\node (<node name>) [<options>] {<text>};
  • 编辑:positioning库使您能够指定节点/坐标相对于其他节点/坐标的位置有多远。参考:程序包 PGF 数学错误:未知运算符“o”或“of”
  • 除了默认的箭头之外,该arrows库还允许您使用其他类型的箭头>
  • shapes库允许使用椭圆之类的形状作为节点。

部分代码

\documentclass[border=5, convert={density=150}]{standalone}

\usepackage{array}
\newcolumntype{C}{>{$}c<{$}}
\usepackage{tikz}
\usetikzlibrary{shapes, arrows}
\tikzset{
    events/.style={ellipse, draw, align=center},
}
\begin{document}
\begin{tikzpicture}[node distance=2cm, >=stealth']
\node [events] (cloudy) {Cloudy};
\node [events, below left = of cloudy] (sprinkler) {Sprinkler};
\node [events, below right = of cloudy] (rain) {Rain};
\node [events, below right = of sprinkler] (wetgrass) {WetGrass};

\draw [->] (cloudy) -- (sprinkler);
\draw [->] (cloudy) -- (rain);
\draw [->] (rain) -- (wetgrass);
\draw [->] (sprinkler) -- (wetgrass);

\node [above = of cloudy] {
    \begin{tabular}{CC}
    \mathrm{P(C=F)} & \mathrm{P(C=T)}\\
    \hline
    0.5 & 0.5\\
    \end{tabular}
    };

\node [right = of rain, anchor=west] {
    \begin{tabular}{c|CC}
    C & \mathrm{P(C=F)} & \mathrm{P(C=T)}\\
    \hline
    F & 0.8 & 0.2\\
    T & 0.2 & 0.8\\
    \end{tabular}
    };  

\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

相关内容