当不需要时,刻度标签的标准pgfplots
符号不以零结尾,但科学论文的标准符号是所有刻度在点后都有相同数量的数字,0 的一部分通常简单打印为0
。
我可以为所有刻度设置相同的精度,但我想0
简单地打印0
而不是例如0.0
,我该怎么做?
第一张图片是pgfplots
默认的,第二张图片是我能做的,第三张图片是我想要做的。
第二张图片的最少代码
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis} [ymin=0, ymax=2,
xmin=0.2, xmax=2,
y tick label style={
/pgf/number format/fixed,
/pgf/number format/fixed zerofill,
/pgf/number format/precision=1},
]
\addplot[only marks] {x};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
这是一个相当不寻常的要求(我找不到任何使用这种格式的已发布示例),而且我认为没有预定义的格式。看来您必须使用条件来执行此操作:
yticklabel={\ifdim\tick pt=0pt 0 \else\pgfmathprintnumber{\tick}\fi}
0
如果刻度值为 则打印0
,其他情况下则通过数字格式化程序输入数字:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis} [ymin=0, ymax=2,
xmin=0.2, xmax=2,
y tick label style={
/pgf/number format/fixed,
/pgf/number format/fixed zerofill,
/pgf/number format/precision=1
},
yticklabel={\ifdim\tick pt=0pt 0 \else\pgfmathprintnumber{\tick}\fi}
]
\addplot[only marks] {x};
\end{axis}
\end{tikzpicture}
\end{document}