
У меня есть вопрос по поводу pgfplots
. У меня есть CSV-файл с парами xy. CSV-файл очень большой (>10k записей).
Я хочу построить график теперь x
против y
, но только в некоторых указанных x-координатах. Другими словами, я хочу использовать сокращенный набор данных из моего исходного CSV-файла.
Например, предположим, что x пробегает интервал [1,100] в файле данных. Я хочу построить график с координатами x x1=0, x2=18, x3=76 and x4=89
. Есть ли возможность автоматически получить соответствующие значения y из CSV-файла или мне нужно извлекать эти значения извне (Excel, Octave, ...)?
Чтобы сделать это еще сложнее: предположим, у меня есть значение x при x=12.1
и при x=12.2
. Есть ли возможность использовать ближайшее местоположение точки (в данном случае x=12,1), если нас интересует соответствующее значение y при x=12,11?
Большое спасибо!
решение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 не всегда является целым числом и вы хотите пропустить промежуточные значения, вам придется округлить его перед выполнением теста.