![内联计算在 PGFplots 中给出“无法解析输入”错误](https://linux22.com/image/311772/%E5%86%85%E8%81%94%E8%AE%A1%E7%AE%97%E5%9C%A8%20PGFplots%20%E4%B8%AD%E7%BB%99%E5%87%BA%E2%80%9C%E6%97%A0%E6%B3%95%E8%A7%A3%E6%9E%90%E8%BE%93%E5%85%A5%E2%80%9D%E9%94%99%E8%AF%AF.png)
编译代码时, PGFplots 中的内联计算exp(\tick)
出现错误Could not parse input
\documentclass[margin=1cm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}
[
log number format code/.code={\pgfmathprintnumber[sci,sci zerofill,precision=3]{exp(\tick)}}, % GIVES A 'COULD NOT PARSE INPUT' ERROR!
xtick={1,100}
]
\addplot[no marks,domain=10^0:10^5] {x};
\end{loglogaxis}
\end{tikzpicture}
\end{document}
我该如何解决这个问题?
答案1
正如宏名所暗示的那样,它是一个漂亮的打印机,而不是数学解析器。您需要在外部进行数学运算并将结果提供给它。但是,如果您进行常规的 TikZ 解析,数字太大而无法处理。因此,您需要打开 TikZfpu
进行数学运算并将其关闭。
log number format code/.code={%
\pgfkeys{/pgf/fpu}%
\pgfmathparse{exp(\tick)}%
\pgfmathprintnumber[sci,sci zerofill,precision=3]{\pgfmathresult}%
\pgfkeys{/pgf/fpu=false}%
}