我正在尝试将其应用于科学记数法
对数对数轴中刻度的数字格式不会更改为科学计数法 `ax 10^b`,'a' 为实数,'b' 为整数
通过loglogaxis
使用
\pgfplotsset
{
every loglogaxis/.append style=
{
log number format code/.code=
{
\pgfkeys{/pgf/fpu}
\pgfmathparse{exp(\tick)}
\pgfmathprintnumber[sci,sci zerofill,precision=2]{\pgfmathresult}
\pgfkeys{/pgf/fpu=false}
}
}
}
在我的文档的序言中LaTeX
。然而,它似乎被完全忽略了,见下图。
我该如何解决?
最小工作示例:
\documentclass[margin=1cm]{standalone}
\usepackage{pgfplots}
\usetikzlibrary{calc}
\pgfplotsset
{
compat=newest,
every loglogaxis/.append style=
{
log number format code/.code=
{
\pgfkeys{/pgf/fpu}
\pgfmathparse{exp(\tick)}
\pgfmathprintnumber[sci,sci zerofill,precision=2]{\pgfmathresult}
\pgfkeys{/pgf/fpu=false}
}
} % DOESN'T WORK!
}
\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}
[
name=plot_left,
xtick={1,95},
%log number format code/.code={\pgfkeys{/pgf/fpu}\pgfmathparse{exp(\tick)}\pgfmathprintnumber[sci,sci zerofill,precision=1]{\pgfmathresult}\pgfkeys{/pgf/fpu=false}} % WORKS!
]
\addplot[no marks,domain=10^0:10^3] {x};
\end{loglogaxis}
\begin{loglogaxis}
[
name=plot_right,
at={($(plot_left.east)+(20mm,0)$)},
anchor=west,
xtick={1,95},
%log number format code/.code={\pgfkeys{/pgf/fpu}\pgfmathparse{exp(\tick)}\pgfmathprintnumber[sci,sci zerofill,precision=1]{\pgfmathresult}\pgfkeys{/pgf/fpu=false}} % WORKS!
]
\addplot[no marks,domain=10^0:10^3] {exp(x)};
\end{loglogaxis}
\end{tikzpicture}
\end{document}
结果
答案1
您输入错误。键名是every loglog axis
。
无论代码如何,都不要删除%
代码块中行末的 。否则您将得到虚假的空格。