Pgfplots“设置千位分隔符”引入了

Pgfplots“设置千位分隔符”引入了

我不想要comma作为千位分隔符,所以在序言中我设置

\pgfplotsset{
    x tick label style={/pgf/number format/.cd, set thousands separator={}}
}

这工作正常,但是当我尝试绘制一个图时,其中 在xmax之下0.1,例如0.01,该thousands separator行会引入错误。

这是 MWE: (如果将 设置xmax0.1,它会起作用,如果设置为0.01,则不会起作用)

\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}

\pgfplotsset{       
    compat=1.10,
    width=7cm,
    x tick label style={/pgf/number format/.cd, set thousands separator={}}
}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        xmin = 0, xmax =0.01,
        ymin =-200, ymax = -20]
    \addplot coordinates {(0,-20) (0.02,-100)};
    \end{axis} 
\end{tikzpicture}
\end{document}

那么如何同时获得:不使用逗号作为千位分隔符以及适用于小x范围的工作代码?

答案1

您需要添加scaled ticks=false。但随后您还需要添加fixed,precision=3,以防止 xtick 标签变得混乱。

\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}

\pgfplotsset{
    compat=1.10,
    width=7cm,
    x tick label style={/pgf/number format/.cd,fixed,precision=3, set thousands separator={}}
}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[scaled ticks=false,
        xmin = 0, xmax =0.01,
        ymin =-200, ymax = -20]
    \addplot coordinates {(0,-20) (0.02,-100)};
    \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容