X 刻度与 pgfplots 中的坐标不同

X 刻度与 pgfplots 中的坐标不同

我在使用 pgfplots 创建直方图时遇到以下问题。我是个初学者,所以可能会有一些明显的错误。当我编译这个时:

\begin{tikzpicture}
\begin{axis}[
xtick={-0.0003, -0.0002, -0.0001, 0, 0.0001, 0.0002, 0.0003},
xmin=-0.0003, xmax=0.0003,
ymin=0, ymax=90,
xticklabels={-3e-4, -2e-4, -1e-4, 0, 1e-4, 2e-4, 3e-4},
ytick={0, 10, 20, 30, 40, 50, 60, 70, 80},
ylabel=Number of Occurrences,
enlargelimits=0.05,
ybar interval=0.7,
]
\addplot coordinates {(-0.00027,3) (-0.000231,2) (-0.000192,19) (-0.000153,29) (-0.000114, 49) (-0.000075, 73) (-0.000036,77) (0.000003,87) (0.000042,77) (0.000081,47) (0.000120, 15) (0.000159, 13) (0.000198,6) (0.000237, 2) (0.000276, 1)};
\end{axis}
\end{tikzpicture}

我明白了:

在此处输入图片描述

因此,我不明白为什么:

1)x 轴上的刻度不在它们应该在的位置,而是都挤在轴的一个随机点上;

2) x10^-4 与图表相差甚远。

正如我所说,尽管这是一个简单的情节,但我可能理解错了。提前致谢!

答案1

我猜大家对它的含义有些误​​解ybar interval。要了解这一点,请先查看我将指令上移的 MWE,

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar interval=0.7,
xtick={-0.0003, -0.0002, -0.0001, 0, 0.0001, 0.0002, 0.0003},
xmin=-0.00031, xmax=0.00031,
ymin=0, ymax=90,
%xticklabels={-3e-4, -2e-4, -1e-4, 0, 1e-4, 2e-4, 3e-4},
ytick={0, 10, 20, 30, 40, 50, 60, 70, 80},
ylabel=Number of Occurrences,
enlargelimits=0.05,
]
\addplot coordinates {(-0.00027,3) (-0.000231,2) (-0.000192,19) (-0.000153,29) (-0.000114, 49) (-0.000075, 73) (-0.000036,77) (0.000003,87) (0.000042,77) (0.000081,47) (0.000120, 15) (0.000159, 13) (0.000198,6) (0.000237, 2) (0.000276, 1)};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

根据你问题的文本,这可能不是你想要的。不过,我想提醒你,pgfplots 手册第 87 页说

在此处输入图片描述

这意味着你可能想使用稍微不同的坐标,或者只是使用一个ybar图。因为我的水晶球被盗了,我不确定你到底想干什么,就到此为止。不过,如果你在更新问题时指定这一点,我很乐意尝试一下。

相关内容