我知道答案很简单,但是我已经查阅了大量例子,似乎找不到我想要的东西。
我正在为我的统计学学生准备一场考试,其中一道题有一张直方图供他们解读。我已将数据输入为坐标,现在尝试将 x 轴上的刻度设置为条形的边缘,而不是条形的中间。这是我的代码:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar interval, ymax=55,ymin=0, minor y tick num = 3]
\addplot coordinates { (0, 5) (5, 35) (10, 50) (15, 30) (20, 15) (25, 0) };
\end{axis}
\end{tikzpicture}
\end{document}
生成了这张漂亮的图像:
我想喜欢是让 x 值位于每个条形的左边缘,并让最终值 (25) 出现在最后一条形的右边缘。我可以使用类似
xticklabel style = {xshift=-0.6cm}
但如果我改变直方图的宽度,这种情况就会发生,并且仍然无法显示最后一个值。我还尝试手动设置 xticks
xtick = {0, 5,..., 30}
但仍然没有显示“25”。如能提供任何帮助,我将不胜感激。
答案1
像这样吗?
上图由以下人员制作:
\documentclass[border=3mm,
tikz,
preview
]{standalone}
\usepackage{pgfplots}
\begin{document}
%---------------------------------------------------------------%
\begin{tikzpicture}
\begin{axis}[
ymin=0, ymax=55,
minor y tick num = 3,
area style,
]
\addplot+[ybar interval,mark=no] plot coordinates { (0, 5) (5, 35) (10, 50) (15, 30) (20, 15) (25, 0) };
\end{axis}
\end{tikzpicture}
\end{document}