如何将 \SI 放在 yticklabel 中?

如何将 \SI 放在 yticklabel 中?

我怎样才能让我的 pgfplot 让 siunitx 在表单上写标签\SI{10}{\milli\metre}

以下操作无效:

\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{siunitx}
\pgfplotsset{compat=newest}    
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    yticklabel={\SI{\pgfmathprintnumber{\tick}}{\milli\metre}}
  ]
    \addplot {x^2};
  \end{axis}
\end{tikzpicture}
\end{document}

我也尝试过yticklabel={\SI{\tick}{\milli\metre}},例如打印“10.000 000 000 mm”,但我承认间距是正确的。

我唯一的选择是yticklabel={\pgfmathprintnumber{\tick} \si{\milli\metre}}尝试手动设置数字和单位之间的间距吗?

答案1

我认为你的问题是你想对结果进行四舍五入:\tick有相当多的小数位可能很奇怪,但它轴的值是多少。您可以舍入而无需使用 v3 功能

\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{siunitx}
\pgfplotsset{compat=newest}    
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    yticklabel={\SI[round-mode = places]{\tick}{\milli\metre}}
  ]
    \addplot {x^2};
  \end{axis}
\end{tikzpicture}
\end{document}

虽然我希望你有 v3 并且可以\qty在这里使用更多的语义。

相关内容