Хорошо, я вижу, что мне не хватало информации 10000 наборов с 22554 строками в каждом.Поскольку у меня нет файла, я не могу проверить его, но:
splot "file.txt" index i u (r1[$0+1]):(r2[$0+1]):1 w l palette
должен делать то, что вам нужно.$0
является псевдостолбцом и возвращает номер строки (начиная с 0) (суб) блока (адресуемого по индексу).И с этим номером вы индексируете свой массив (начиная с 1).Проверьте также help pseudocolumns
.
Добавление:
На самом деле, вам не нужно заранее создавать массивы.Вы можете просто использовать формулы, чтобы получить значения X и Y из номера строки ($0
).Имейте в виду, что в gnuplot /
будет делением целых чисел, если оба числа целые.Тем не менее, я использую int(n/RowCount)
.
SetCount = 10000
RowCount = 179
ColCount = 126
XValue(n) = int(n)%ColCount
YValue(n) = int(n/RowCount)
do for [i=1:SetCount:10] {
j=i/10
outfile = sprintf('pop%06.0f.png',j)
set output outfile
splot "file.txt" index i u (XValue($0)):(YValue($0)):1 w l palette
}