PGF 图可以绘制具有可变条宽的直方图吗?

PGF 图可以绘制具有可变条宽的直方图吗?

因此,我需要在 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}

在此处输入图片描述

相关内容