我试图将 a 中的刻度数字格式设置loglogaxis
为科学计数法a x 10^b
(LaTeX 中的 $a \cdot 10^{b}$,a
一个实数和b
一个整数),但是不起作用。
我使用代码
\documentclass[margin=1cm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}
[
tick label style={/pgf/number format/.cd,sci,sci zerofill,precision=5}, % WHY DOES THIS NOT WORK?
xtick={1,95}
]
\addplot[no marks,domain=10^0:10^5] {x};
\end{loglogaxis}
\end{tikzpicture}
\end{document}
但该tick label style
命令似乎没有改变任何东西。
應該10^1.98
是9.5*10^1
。
我该如何解决?
答案1
代码
\documentclass[margin=1cm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}
[
log number format code/.code=
{
\pgfkeys{/pgf/fpu}
\pgfmathparse{exp(\tick)}
\pgfmathprintnumber[sci,sci zerofill,precision=1]{\pgfmathresult}
\pgfkeys{/pgf/fpu=false}
},
xtick={1,95}
]
\addplot[no marks,domain=10^0:10^5] {x};
\end{loglogaxis}
\end{tikzpicture}
\end{document}
完成工作!
答案2
我很高兴与此同时(当我忙于日常工作时 :-))你找到了解决问题的方法。我的建议需要更多的“手工工作”,但它很简单:
\documentclass[margin=2cm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}
[
xtick={2,95},
xticklabels={$2\cdot10^0$,$9.5\cdot10^1$}
]
\addplot[no marks,domain=10^0:10^5] {x};
\end{loglogaxis}
\end{tikzpicture}
\end{document}
并给出以下结果: