在 pgfplots 轴上显示显式加号

在 pgfplots 轴上显示显式加号

有没有比我的方法更优雅的方法来在 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}$

在上面的代码中。

相关内容