在 pgfplots 中构建真实直方图

在 pgfplots 中构建真实直方图

在我长期学习 TikZ 的过程中,我总会根据以下数据集构建“真实”直方图:

希尼

1000 5

1200 8

1500 24

2500 13

3000 二

这个想法是将数据分组为振幅类,最小值为 300,xmin=800,xmax = 3200。另外,我不需要 y 轴,只需要网格。还应该有一个图例来指示单位面积。

    \usemodule[tikz]
    \usemodule[pgfplots]
    \usepgfplotslibrary[statistics]
    \pgfplotsset{width=12cm, compat=1.11}
    \usemodule[filecontents]
    \starttext
    \starttikzpicture
    \switchtobodyfont[10pt]
    \startaxis[
         width=10cm,
         height=13cm,
         ybar interval,
         xtick=data, 
         xticklabel interval boundaries, 
         x tick label style= {rotate=90,anchor=east,/pgf/number format/1000 sep={}},
         axis y line=left,
         axis x line=bottom,
         enlarge x limits,
         ymin=0,
         thick,grid=major,  
              ]
        \addplot[blue,fill=green]
         coordinates {(800,5) (1100,8) (1400,24) (1700,0) (2000,0) (2300,13)
                 (2600,0) (2900,2) (3200,0)};
         \stopaxis
         \stoptikzpicture

在此处输入图片描述

在此处输入图片描述

答案1

我用这种方式制作了一个直方图:

\documentclass[11pt,a4paper]{article} 
\usepackage{geometry}
\geometry{margin=1in} 

\usepackage{tikz}
\usepackage{tkz-euclide}
\usetikzlibrary{calc,intersections,through,backgrounds,snakes}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\usepgfplotslibrary{statistics}
\usepackage{bchart}
\begin{center}
\begin{tikzpicture}
\begin{axis}[
width=1*\textwidth,
height=6cm,
xmin=-1.5,xmax=13.5,
ymin=0, ymax=7,
title=Histogram lichaamslengte,
ybar interval,
xticklabel={[\pgfmathprintnumber\tick;\pgfmathprintnumber\nexttick [}],
\addplot+[hist={bins=4, data max=12,data min=0}]
table[row sep=\\,y index=0] {
data\\
1\\ 2\\ 1\\ 5\\ 4\\ 10\\ 4\\ 5\\ 7\\ 10\\ 9\\ 8\\ 9\\ 9\\ 11\\
};
\addplot[sharp plot,mark=square*,black]
coordinates
{(-1.5,0) (1.5,3) (4.5,4) (7.5,2) (10.5,6) (13.5,0)};
\end{axis}
\end{tikzpicture} 
\end{center}

在此处输入图片描述

相关内容