为什么“缩放 z 刻度”不起作用?

为什么“缩放 z 刻度”不起作用?

我正在创建一大堆 3D 图,我想自动缩放 z 刻度,即应该将一个公共指数分解出来,就像它应该是 pgfplots 中的默认行为一样。但是,正如在 MWE 中看到的那样,它根本不起作用。如果我通过设置手动指定指数scaled z ticks={base 10:{-2}},它就会起作用。这不是一个好的解决方案,因为有很多图。似乎 pgfplots 无法以某种方式检测范围。

所以我的问题是:为什么它不能按预期工作以及我如何让它工作?

\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
    \begin{tikzpicture}
        % this doesnt work
        \matrix{
        \begin{axis}[
            width=5cm,
            height=5cm,
            scaled z ticks = true
        ]
            \addplot3 [
                z buffer=sort,
            ]
            table[point meta=\thisrow{c}] {%
                x   y   z   c
                0   0   -796.712    -796.712
                0.966   0.05    -311.152    -311.152
                0.033   0.25    -1230.162   -1230.162
                1   1   -76.631 -76.631
            };
        \end{axis}
        &
        % it should look like this
        \begin{axis}[
            width=5cm,
            height=5cm,
            scaled z ticks={base 10:{-2}}
        ]
            \addplot3 [
                z buffer=sort,
            ]
            table[point meta=\thisrow{c}] {%
                x   y   z   c
                0   0   -796.712    -796.712
                0.966   0.05    -311.152    -311.152
                0.033   0.25    -1230.162   -1230.162
                1   1   -76.631 -76.631
            };
        \end{axis}
        \\};
    \end{tikzpicture}
\end{document}

不带和带有 z 刻度缩放的 3d 绘图

相关内容