我知道使用 pgfplots 你可以跳过“无界坐标”,但 latex 只接受“nan”、“inf”和“-inf”(实际上“nan”的大小写也不同)作为无界坐标。
我的数据包含大量“Inf”和“-Inf”值,因此 pgfplots 会给出错误。请参阅 MWE:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[unbounded coords=jump]
\addplot coordinates {
(0,0) (10,50) (20,Inf) (30,200)
(40,inf) (50,600) (60,NaN) (80,1000)
};
\end{axis}
\end{tikzpicture}
\end{document}
有什么方法可以告诉 latex 将“Inf”视为“inf”?我想我可以编写一个脚本将所有“Inf”转换为“inf”,但通过 latex 执行会更简洁、更容易。
答案1
您可以通过设置来定义Inf
为别名:inf
declare function={Inf=inf;}
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.11}
\begin{document}
\begin{tikzpicture}[declare function={Inf=inf;}]
\begin{axis}[unbounded coords=jump]
\addplot coordinates {
(0,0) (10,50) (20,Inf) (30,200)
(40,inf) (50,600) (60,NaN) (80,1000)
};
\end{axis}
\end{tikzpicture}
\end{document}