因此,我需要在 PGFPlots/LaTeX 中创建一个直方图,其中源数据具有分组的 x 值和频率,所需的输出是一个具有连续 x 尺度、y 上的频率密度和根据数据分组可变宽度的条形的直方图,如下所示:样本直方图
我已经在 Google 上搜索了尽可能多的有关直方图和 pgfplots 的信息,但还没有找到这样的例子。这有可能吗?有没有人能指点一下?谢谢。
答案1
是的,可以在 pgfplots 中绘制具有可变条宽的直方图ybar interval
,这是命令的一个键\addplot
。
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[width=10cm,
axis lines=center,
xmin=3,xmax=19,
ymin=0,ymax=3,
grid=major,
yminorgrids,
ylabel near ticks,
xlabel near ticks,
major grid style={thick},
tick style={thick},
axis line style={thick},
xlabel=Age,
ylabel=Frequency density,
xtickmin=4,
xtick={5,6,...,18},
ytick={0,1,2,3},
minor y tick num=3,
axis x discontinuity=crunch,
ticklabel style={font=\tiny},
enlarge x limits={upper,value=0.02},
enlarge y limits={upper,value=0.1}
]
\addplot[ybar interval,fill=red!80!black,draw=white]coordinates{(5,1)(11,3)};
\addplot[ybar interval,fill=orange!80!yellow,draw=white]coordinates{(11,3)(16,2)};
\addplot[ybar interval,fill=cyan,draw=white]coordinates{(16,2)(18,2)};
\end{axis}
\end{tikzpicture}
\end{document}