如果图表的数据范围在 200,000 之间,且最大值和最小值之间的差异很小,则整个轴将被分配 10^5 倍数。这会导致刻度变得毫无意义,因为所有刻度都变成 2。
例子:-
\begin{tikzpicture}
\begin{axis}
\addplot coordinates {
(100,200001)
(200,200003)
(300,200005)
};
\end{axis}
\end{tikzpicture}
绘制此图时,y 轴有 5 个刻度,全部为 2。y 轴的乘数为 10^5。这实际上已从图表中删除了所有信息。
我可能会使用下面的方法设置刻度值的明确值,但这并不能实现轴刻度显示“样式”的改变。
ytick = {200000, 200005, 200010}
我也尝试将刻度标签的精度提高到 5。然而,这只会导致图表显示诸如 2.00000、2.00005、2.00010 之类的标签,并带有 10^5 轴乘数。
yticklabel style={precision = 5,}
我的问题是“我如何删除/更改这个 10^5 乘数,以便 y 轴刻度显示为 200000、200005、200010 的形式。
答案1
您可以在轴选项中使用禁用常用缩放因子scaled y ticks = false
。这将导致每个单独的刻度标签以科学计数法显示,您也可以使用y tick label style={/pgf/number format/fixed}
(请参阅“4.18.1 所有支持的样式”一节)来抑制此行为PGFplots 手册了解格式化数字的其他选项)。
\documentclass{minimal}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
scaled y ticks = false,
y tick label style={/pgf/number format/fixed,
/pgf/number format/1000 sep = \thinspace % Optional if you want to replace comma as the 1000 separator
}]
\addplot coordinates {
(100,200001)
(200,200003)
(300,200005)
};
\end{axis}
\end{tikzpicture}
\end{document}