如何从 tikzplotlib 解析 NaN

如何从 tikzplotlib 解析 NaN

我正在用 Python 绘制图表,然后使用tikzplotlib库将它们导出到 LaTeX。问题是tikzplotlib将具有(至少一个)NaN值的对转换为-- --如下所示

\addplot [draw=black, forget plot, mark=o, only marks]
table{%
x  y
1.75 -3.2
2 -3.2
2.25 -3
2.5 -2.9
-- --
-- --
};

LaTeX 会给出错误响应

! Package PGF Math Error: Could not parse input '--' as a floating point number, sorry. The unreadable part was near '-'..

是否可以教导pgfplots忽略--as NaN?或者教导将stikzplotlib导出为?NaNNaN

答案1

这不是一个答案,而是一个对于任何想要实验的人来说的 MWE。

\begin{filecontents}{table.dat}
x  y
1.75 -3.2
2 -3.2
2.25 -3
2.5 -2.9
-- --
-- --
\end{filecontents}
\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{pgfplots}

\begin{document}
\pgfplotstabletypeset[string replace={--}{}]{table.dat}% works as expected

\pgfplotstableread[string type, string replace={--}{}]{table.dat}\mytable
\pgfplotstabletypeset{\mytable}

\begin{tikzpicture}
\begin{axis}
\addplot [draw=black, forget plot, mark=o, only marks]
  table{\mytable};
\end{axis}
\end{tikzpicture}
\end{document}

答案2

我意识到 Python 作为一种编程语言更加灵活,所以我简单地NaN使用以下方法排除了数据

pyplot.scatter(x[~numpy.isnan(y)],y[~numpy.isnan(y)])

其中xynumpy数据数组。

相关内容