Как использовать определенные значения x из CSV-файла для построения графика xy?

Как использовать определенные значения x из CSV-файла для построения графика xy?

У меня есть вопрос по поводу 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 не всегда является целым числом и вы хотите пропустить промежуточные значения, вам придется округлить его перед выполнением теста.

Связанный контент