有没有比我的方法更优雅的方法来在 pgfplots 图的轴上显示表示正值的明确加号?
目前我正在做
xtick={-3,-2,...,+3},
xticklabels={-3,-2,-1,0,+1,+2,+3},
但这并不完美,因为如果我想更改图表,我必须更新 xticklabels。
答案1
只需将print sign
选项添加到pgf/number format
:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xticklabel style={/pgf/number format/.cd,print sign}]
\addplot coordinates {(-2,1) (-1,2) (2,3) (3,2)};
\end{axis}
\end{tikzpicture}
\end{document}
如果您不想要零上的符号,那么您可以按如下方式单独处理该情况:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xticklabel style={/pgf/number format/.cd,print sign},
xticklabel={\ifdim\tick pt=0pt$0$\else\axisdefaultticklabel\fi}]
\addplot coordinates {(-2,1) (-1,2) (2,3) (3,2)};
\end{axis}
\end{tikzpicture}
\end{document}
\axisdefaultticklabel
是$\pgfmathprintnumber{\tick}$
,所以如果你想要0
打印与其他刻度相同的数字样式,但没有符号,你可以$0$
用
$\pgfmathprintnumber[print sign=false]{\tick}$
在上面的代码中。