如何使用以 \times 作为分隔符且缩放刻度 = false 的科学刻度标签轴格式?

如何使用以 \times 作为分隔符且缩放刻度 = false 的科学刻度标签轴格式?

为什么

 tick label style={/pgf/number format/.cd,sci,sci generic={mantissa sep=\times,exponent={10^{#1}}}}

无法正确工作?缺少指数。我想为 y 轴使用刻度标签数字格式 1 x 10^n,并使用 \times 作为分隔符。

梅威瑟:

% used PGFPlots v1.14
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
scaled y ticks=false,
y tick label style={/pgf/number format/.cd,sci,sci generic={mantissa sep=\times,exponent={10^{#1}}}},   
ymin=0,
ymax=1000,
]

 \addplot [domain=0:1000] {x}; 

\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

您可以使用

yticklabel={%
  \pgfkeys{/pgf/number format/.cd,
    sci,sci generic={mantissa sep=\times,exponent={10^{##1}}}
  }%
  \axisdefaultticklabel
}

或者

yticklabel={$\pgfmathprintnumber
    [sci,sci generic={mantissa sep=\times,exponent={10^{##1}}}]
    {\tick}$%
}

要得到

在此处输入图片描述

代码:

\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
      scaled y ticks=false,
      yticklabel={$\pgfmathprintnumber
          [sci,sci generic={mantissa sep=\times,exponent={10^{##1}}}]
          {\tick}$%
      },
      ymin=0,
      ymax=1000,
    ]
    \addplot [domain=0:1000] {x}; 
  \end{axis}
\end{tikzpicture}
\end{document}

相关内容