pgfplots 轴中的数字格式

pgfplots 轴中的数字格式

如何将小数点/千位分隔符的类型从美式改为欧式?更准确地说,我想要:

  • 应按原样写出“1000”,而不是“1,000”
  • “0,1” 而不是 “0.1”

答案1

使用按键更改数字格式/pgf/number format,这些按键从第 546 页开始描述。手册。在您的情况下,您可能希望将/pgf/number format/use comma逗号设置为小数点分隔符,并/pgf/number format/1000 sep={}抑制千位组的分隔符。

当设置多个子项时,您可以先使用 更改为主项/pgf/number format/.cd,然后再设置数字格式,从而节省一些输入时间。

因为我假设您希望整个图中的数字格式保持一致,所以您应该设置整个轴的选项。

以下是一个例子:

\documentclass{article}
\usepackage{pgfplots}

\begin{document}


\begin{tikzpicture}
\begin{axis}[
    /pgf/number format/.cd,
        use comma,
        1000 sep={}]
\addplot +[domain=0:1] {(x+rnd)*4000};
\end{axis}
\end{tikzpicture}

\end{document}

答案2

编辑:根据 Jake 的评论:使用set decimal separator={,}而不是 会use comma在逗号后引入不必要的细空格。有趣的是,如果使用set decimal separator={.},则不会发生这种情况。因此,最好use comma按照 Jake 的解决方案使用 而不是 。


使用set thousands separator={}set decimal separator={,}可得出:

在此处输入图片描述

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
      y tick label style={/pgf/number format/.cd,%
          scaled y ticks = false,
          set thousands separator={},
          fixed},
      x tick label style={/pgf/number format/.cd,%
          scaled x ticks = false,
          set decimal separator={,},
          fixed}%
     ]
  \addplot coordinates {
  (0.1,1000)
  (0.2,1100)
  (0.3,1200)
  };    
\end{axis}
\end{tikzpicture}
\end{document}

相关内容