
に関して質問があります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 が常に整数ではなく、インタースティシャル値をスキップしたい場合は、テストを行う前に切り上げを行う必要があります。