如何使用 CSV 文件的特定 x 值绘制 xy 图?

如何使用 CSV 文件的特定 x 值绘制 xy 图?

我有一个关于 的问题pgfplots。我有一个包含 xy 对的 CSV 文件。该 CSV 文件非常大(>10k 个条目)。

我现在想绘制xvs y,但只在某些指定的 x 坐标处。换句话说,我想使用原始 CSV 文件中精简的数据集。

例如,假设 x 在数据文件中的区间 [1,100] 内运行。我想用 x 坐标绘制一个图x1=0, x2=18, x3=76 and x4=89。是否有机会自动从 CSV 文件中获取相应的 y 值,还是我需要从外部提取这些值(Excel、Octave 等)?

为了使其更加复杂:假设我在x=12.1和处有一个 x 值x=12.2。如果我们对 x=12.11 处的相应 y 值感兴趣,是否有机会使用最近的点位置(在本例中为 x=12.1)?

多谢!

答案1

这应该可以帮助你入门:

\documentclass{minimal}
\usepackage{csvsimple}
\usepackage{xifthen}

\newcommand{\execute}{\x,\y\par}

\begin{document}
\csvreader[head to column names]{test.csv}%
    {}%empty block
    {%x1=0, x2=18, x3=76 and x4=89
        \ifthenelse{\x= 0}{\execute}{\relax}%
        \ifthenelse{\x=18}{\execute}{\relax}%
        \ifthenelse{\x=76}{\execute}{\relax}%
        \ifthenelse{\x=89}{\execute}{\relax}%
    }
\end{document}

它假设一个test.csv文件有两列,第一列标记为x,第二列标记为y

如果 X 不总是一个整数,并且您想要跳过间隙值,则需要在进行测试之前进行四舍五入。

相关内容