pgfplots 中 x 轴和 y 轴的指数格式不同

pgfplots 中 x 轴和 y 轴的指数格式不同

我知道可以使用 来格式化对数轴刻度标记的指数log plot exponent style,但这会影响 x 轴和 y 轴。有没有办法为每个轴提供不同的规格。例如,假设我希望 y 轴的精度 = 1,x 轴的精度 = 2。有没有办法做到这一点,而不需要手动指定轴标签或过多的代码?感谢您的任何建议。

示例图片

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
  \begin{loglogaxis}[
    xtick distance=10^(0.25),
    ytickten={0,0.5,...,4.5},
    log plot exponent style/.style={/pgf/number format/.cd,fixed,zerofill,precision=2},
    ]
    \addplot[domain=1:10] {exp(x)};
  \end{loglogaxis}
\end{tikzpicture}
\end{document}

答案1

这是我能完成工作的唯一方法:

\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}[
xtickten={0,0.25,...,1},
ytickten={0,0.5,...,4.5},
xticklabel={\pgfkeys{/pgf/number format/.cd,fixed,zerofill,precision=2} $10^{\pgfmathparse{\tick/\logten)}\pgfmathprintnumber{\pgfmathresult}}$},
yticklabel={\pgfkeys{/pgf/number format/.cd,fixed,zerofill,precision=1} $10^{\pgfmathparse{\tick/\logten)}\pgfmathprintnumber{\pgfmathresult}}$},
]
\addplot[domain=1:10] {exp(x)};
\end{loglogaxis}
\end{tikzpicture}
\end{document}

具有固定精度刻度的对数-对数图

相关内容