Ваши данные находятся в приемлемой форме для gnuplot, но убедить программу представить ее как одну линию на длину волны, а не как поверхность с сеткой, сложнее. Сначала давайте установим, что файл можно прочитать и построить. Следующие команды должны прочитать координаты x / y (x = первая строка, y = первый столбец) и значения z для построения поверхности.
DATA = 'espectros cinetica.csv'
set datafile separator ';' # csv file with semicolon
# Your data uses , as a decimal point.
set decimal locale # The program can handle this if your locale is correct.
show decimal # confirm this by inspecting the output from "show".
set title DATA
set ylabel "Wavelength"
set xlabel "Time (min)"
set xyplane 0
set style data lines
splot DATA matrix nonuniform using 1:2:3 lc palette
![enter image description here](https://i.stack.imgur.com/f6Pz0.png)
Это на самом деле выглядит хорошо с вашими данными. Для меньшего количества сканов это, вероятно, не то, что вы хотели бы. Чтобы построить отдельные линии, по одной на скан, мы могли бы разбить это на последовательность линейных графиков, а не на один поверхностный график:
DATA = 'espectros cinetica.csv'
set datafile separator ";"
set decimal locale
unset key
set title DATA
set style data lines
set ylabel "Wavelength"
set xlabel "Time (min)"
set xtics offset 0,-1 # move labels away from axis
splot for [row=0:*] DATA matrix nonuniform every :::row::row using 1:2:3
Это то, что я получаю для первых 100 строк вашегофайл данных. Данные строки окрашиваются последовательно по типам линий gnuplot. Возможны другие схемы окраски. ![enter image description here](https://i.stack.imgur.com/13rz1.png)