CSV ファイルの特定の x 値を使用して xy プロットを描画するにはどうすればよいですか?

CSV ファイルの特定の x 値を使用して xy プロットを描画するにはどうすればよいですか?

に関して質問がありますpgfplots。xy ペアを含む CSV ファイルがあります。CSV ファイルは非常に大きいです (エントリ数が 10,000 を超えています)。

x今度は、指定された x 座標に対してのみプロットしたいですy。言い換えると、元の CSV ファイルから縮小されたデータ セットを使用したいのです。

たとえば、データ ファイルで x が区間 [1,100] にわたっているとします。x 座標を使用してプロットを作成したいのですが、x1=0, x2=18, x3=76 and x4=89対応する y 値を CSV ファイルから自動的に取得する方法はありますか。それとも、これらの値を外部 (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}

2 つの列を持つファイルを想定しておりtest.csv、最初の列には というラベルが付けられx、2 番目の列には というラベルが付けられていますy

X が常に整数ではなく、インタースティシャル値をスキップしたい場合は、テストを行う前に切り上げを行う必要があります。

関連情報