我正在尝试制作一个 x 增量非常小的条形图。我使用以下代码:
\begin{axis}[ymin=0, ymax=30, 次要 y 刻度数 = 5, 区域样式,] \addplot+[ybar interval,mark=no] 绘图坐标 { (0.13, 15) (0.191, 17) (0.252, 26) (0.313, 3) (0.374,3)(0.435,3)(0.496,5)(0.56,0)}; \end{轴} \结束{tikzpicture}
由此产生了以下图片:
问题是 x 轴下显示的数字与我想要绘制的数字无关。我认为条形图已经就位,只是显示的数字是 0.1、0.2、0.3 等。但我的绘图从 0.13 开始,增量为 0.061 。我想那些值(即 0.13、0.191、0.252 等)。
我尝试定义xmin
和xmax
值以及定义 xbar 间隔,但似乎没有任何效果。我非常感谢任何帮助。
答案1
要实现您想要的效果,您只需添加xtick=data
选项axis
。要显示两位以上的小数,您还需要调整x tick label style
。有关详细信息,请查看代码中的注释。
% used PGFPlots v1.17
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ymin=0,
ymax=30,
% show ticks at the data points
xtick=data,
% ---------------------------------------------------------------------
% (adapt the tick label style to see all three decimal digits)
x tick label style={
rotate=90,
/pgf/number format/.cd,
precision=3,
zerofill,
},
% ---------------------------------------------------------------------
minor y tick num = 5,
area style,
]
\addplot+[ybar interval] coordinates {
(0.13,15) (0.191,17) (0.252,26) (0.313,3)
(0.374,3) (0.435,3) (0.496,5) (0.56,0)
};
\end{axis}
\end{tikzpicture}
\end{document}