刻度和额外刻度的常见缩放比例

刻度和额外刻度的常见缩放比例

我如何告诉 pgfplots 我想要和 相同的缩放比例(数字格式xtickextra x ticks

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
    \begin{tikzpicture}
    \begin{axis}[
        xtick={0.002,0.003},
        extra x ticks={0.001},   
    ]
    \addplot coordinates {(948e-6,1.61981) (1.5e-3,1.02377) (2e-3,0.769047) (2.5e-3,0.614994) (3.2e-3,0.503511)};
    \end{axis}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

在上面的图中,我希望左边的 x 刻度被1分解掉10^{-3}

答案1

编辑:我现在使用自定义样式,避免两次绘制比例因子。

不太理想:您可以手动为两种类型的刻度设置相同的缩放比例:

\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\pgfplotsset{improved scaled ticks/.style 2 args={
    scaled #1 ticks=#2,
    extra #1 tick style={
        scaled #1 ticks=#2,
        #1tick scale label code/.code=,
    },
}}

\begin{document}
    \begin{tikzpicture}
    \begin{axis}[
        xtick={0.002,0.003},
        extra x ticks={0.001},
        improved scaled ticks={x}{base 10:3},
    ]
    \addplot coordinates {(948e-6,1.61981) (1.5e-3,1.02377) (2e-3,0.769047) (2.5e-3,0.614994) (3.2e-3,0.503511)};
    \end{axis}
    \end{tikzpicture}
\end{document}

输出

您也可以使用true代替base 10:3,但我认为在这种情况下,pgfplots 将独立选择两个比例,如果它得出不同的结果,那将是一团糟。

我定义了一个自定义样式,因此至少不需要指定两次缩放比例。此外,默认情况下,比例因子将被绘制两次,因此我使用键*tick scale label code/.code来抑制绘制额外的刻度。

相关内容