我正在为学生准备一份关于统计学的材料,我有这个通用频率多边形作为示例,没有相应的直方图。我希望在中显示所有间隔x axis
。如果我输入intervals=true
键hist
,它会显示所有间隔,但绘图象限外有一个点,当我将键从更改为时true
,false
它只显示一些间隔,但不显示最后一个间隔。此外,绘制的点不相对于间隔或垂直线居中。我该如何解决这个问题?
\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,intersections}
\usepackage{pgfplots}
\usepgfplotslibrary{statistics}
\pgfplotsset{compat=1.15}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ymin=0, ymax=8,
xmin=0, xmax=15,
title={\color{blue} Polígono de Frecuencias},
ybar interval,
xticklabel={[\pgfmathprintnumber\tick--\pgfmathprintnumber\nexttick[}]
]
\addplot[color=blue,forget plot,mark=*, hist={bins=5,data min=0,data max=15,handler/.style={sharp plot},intervals=false},shift={(axis direction cs:2,0) } ]
table[row sep=\\,y index=0]
{data\\
5\\ 14\\ 7\\ 1\\ 4\\ 9\\ 4\\ 5\\ 1\\ 10\\ 9\\ 8\\ 10\\ 9\\ 11\\ 2\\
};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
这里建议使用“空”图来获取所需的刻度描述:
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}% loads also tikz
\pgfplotsset{compat=1.15}
\usepgfplotslibrary{statistics}
\usetikzlibrary{calc,intersections}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ymin=0, ymax=8,
xmin=0, xmax=15,
title={\color{blue} Polígono de Frecuencias},
ybar interval,
xticklabel={[\pgfmathprintnumber\tick--\pgfmathprintnumber\nexttick[}],
]
\pgfplotsset{hist={
bins=5,
data min=0,data max=15,
handler/.style={sharp plot}
}}
% "empty" plot without shift and without intervals=false:
\addplot[draw=none,forget plot,mark=none]table[row sep=\\,y index=0]{data\\0\\};
\addplot[color=blue,forget plot,mark=*,
hist={intervals=false},
shift={(axis direction cs:1.5,0)}% <- changed
]table[row sep=\\,y index=0]{data\\
5\\ 14\\ 7\\ 1\\ 4\\ 9\\ 4\\ 5\\ 1\\ 10\\ 9\\ 8\\ 10\\ 9\\ 11\\ 2\\
};
\end{axis}
\end{tikzpicture}
\end{document}