我使用 Mathematica 导出数据点,并使用 pgfplots 绘制图形。数据文件包含一些 y 值不确定的点。mwe 可以通过以下方式给出
\documentclass{article}
\usepackage{pgfplotstable,pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\pgfplotstableread{
x y
1 2
2 4
3 Indeterminate
4 7
}\mydata
\begin{tikzpicture}
\begin{axis}
\addplot table {\mydata};
\end{axis}
\end{tikzpicture}
\end{document}
我想跳过这些点。我该怎么做?
答案1
您可以将表保存到文件中,表明您想要string replace={Indeterminate}{inf}
(据我所知,读取表时它不起作用)然后从保存的文件中重新加载表。
换句话说,添加
\pgfplotstablesave[string replace={Indeterminate}{inf}]{\mydata}{mydata.dat}
\pgfplotstableread{mydata.dat}\mydata
之间\pgfplotstableread
和之间tikzpicture
似乎可以做你想做的事。
\documentclass{article}
\usepackage{pgfplotstable,pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\pgfplotstableread{
x y
1 2
2 4
3 Indeterminate
4 7
}\mydata
\pgfplotstablesave[string replace={Indeterminate}{inf}]{\mydata}{mydata.dat}
\pgfplotstableread{mydata.dat}\mydata
\begin{tikzpicture}
\begin{axis}
\addplot table {\mydata};
\end{axis}
\end{tikzpicture}
\end{document}