我需要帮助使用 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}