我无法绘制以下概率分布:
我不太清楚如何做到这一点。我查看了使用 PGF Plots 和 Tikz 的示例绘图函数,但我找不到太多关于离散概率分布的帖子。我考虑过绘制线 x = -2、-1、0、1、2,然后以某种方式将图形限制在我想要的区间,但这种方法也没有取得任何进展。
编辑:这是我在网上找到的并且一直在使用的东西:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{pgfplots}
\newcommand{\prob}[1]{\ensuremath{\text{P}\left(#1\right)}}
\begin{document}
\pgfplotsset{
standard/.style={
axis x line=middle,
axis y line=middle,
enlarge x limits=0.15,
enlarge y limits=0.15,
every axis x label/.style={at={(1,0.1)},anchor=north west},
every axis y label/.style={at={(0.1,1.1)},anchor=north},
every axis plot post/.style={mark options={fill=black}}
}
}
\begin{center}
\begin{tikzpicture}
\begin{axis}[
standard,
domain = -4:4,
samples = 9,
xlabel={$x$},
xmin=-2,
xtick= {-2, -1, 0, 1, 2},
xmax= 2,
ylabel={$\prob{Y=x}$},
ymin=0,
yticklabel={$\frac{\pgfmathprintnumber{\tick}}{16}$},
ytick = {1, 2, 3, 4, 5, 6},
ymax=6]
\addplot+[ycomb,black,thick] {(abs(x))};
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}
答案1
您可以不用 来执行此操作pgfplots
,例如通过使用pic
条形图的条形元素。
\documentclass[tikz,border=7pt]{standalone}
\tikzset{
% define the bar graph element
bar/.pic={
\fill (-.1,0) rectangle (.1,#1) (0,#1) node[above,scale=1/2]{$#1$};
}
}
\begin{document}
\begin{tikzpicture}[y=4cm]
\draw
% the main axis
(-3,0) edge[-latex] (3,0)
% draw the distribution and label it
foreach[count=\i from -2] ~ in {1/16,4/16,6/16,4/16,1/16}{
(\i,0) pic[red]{bar=~} node[below]{$\i$}
};
\end{tikzpicture}
\end{document}
或者您也可以plot coordinates
使用ycomb
:
\documentclass[tikz,border=7pt]{standalone}
\begin{document}
\begin{tikzpicture}[y=4cm]
\draw[ycomb,color=red,line width=2mm]
plot coordinates{(-2,1/16)(-1,4/16)(0,6/16)(1,4/16)(2,1/16)};
\draw (-3,0) edge[-latex] (3,0);
\end{tikzpicture}
\end{document}