想要 pgfplots 将以 10 为底的指数显示为刻度标签

想要 pgfplots 将以 10 为底的指数显示为刻度标签

基本上我希望对数轴上刻度标记旁边的标签显示为

27,28,29,...

而不是像

10^27,10^28,10^29,...

我能得到的最接近的方法是将数字格式定义为仅指数,参数 #1,但它在显示时总是在小数点右侧插入数字。我这里需要整数。

在这个例子中,我将两个轴都设为对数轴,但我还想知道如何仅对其中一个对数轴使用这种样式,而让另一个轴为 1,10,100,1000 等。

这个问题可能之前已经回答过了,但我在手册(特别是 4.12+ 部分)和 stackexchange 中搜索了几个小时,还是没找到。我还在学习 pgf 语法!下面是我的示例代码/技巧。

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{loglogaxis}[
log base 10 number format code/.code={#1},
]
\addplot coordinates {
(5, 8e26)
(9217, 3e30)
};
\end{loglogaxis}
\end{tikzpicture}
\end{figure}
\end{document}

答案1

更改的行标记为:

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{loglogaxis}[
%log base 10 number format code/.code={#1},
log base 10 number format code/.code={\pgfmathprintnumber[fixed]{#1}}, % PS
]
\addplot coordinates {
(5, 8e26)
(9217, 3e30)
};
\end{loglogaxis}
\end{tikzpicture}
\end{figure}
\end{document}

enter image description here

相关内容