Gnuplot re Построение линий после перезапуска - PullRequest
0 голосов
/ 14 октября 2018

Я новичок в Gnuplot, извините, если вопрос может быть глупым, но я пока не нашел решения.

У меня есть файл данных с такой структурой:

timestep=0
   1 -1.367+00 -2.538572773308e-01
   2 -1.351097897106e+00 -2.382132334519e-01
   3 -1.372764576847e+00 -1.205983667912e-01
   4 -1.33451163582e+00 -2.3438654806e-01
   5 -2.414239606e+00 -2.683590584894e-01
   6 -4.425446031e+00 -3.246530421864e-01
   7 -6.438461740e+00 -4.589039346035e-01
   ...
timestep=1
 ...
timestep=2
...

Так что для каждого временного шага количество итераций (что я хочу по оси x) перезапускается.Будет много временных шагов, поэтому, если я нанесу все временные шаги вместе, трудно увидеть каждую строку.Поэтому возникает вопрос: как я могу построить линию, состоящую всего из одного временного шага?

Количество итераций каждого временного шага различно.

Спасибо

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Этот вопрос выглядит как дубликат этого .Тем не менее, идея состоит в том, чтобы построить каждый блок отдельно:

plot for[in=0:2] 'file' index in u 1:2 w lines t columnheader(1)

Обратите внимание, что вам нужно обернуть каждый заголовок двойными кавычками.

Если вам нужен отдельный вывод для каждого блока, тогда вам нужна конструкция do for, которая выглядит следующим образом:

do for [i=0:2] {
set output sprintf("%d.png", i)
plot 'file' index i u 1:2 not
}

ОБНОВЛЕНИЕ

Я проверил это еще раз, вот мой минимальный скрипт:

set term png size 800, 600
set output "out.png"
plot for[in=0:1] 'file' index in u 1:2 w lp t columnheader(1)

И мой файл file:

"timestep=0"
1 0
2 3
3 2
4 1
5 6



"timestep=1"
1 4
2 3
3 9
4 6
5 3

Вывод должен выглядеть следующим образом:enter image description here

0 голосов
/ 14 октября 2018

Я думаю, вы можете использовать plot <filename> every, более подробную информацию здесь и другое описание стека переполнения здесь .

Таким образом, вы можете выбрать построение не только одного временного шага;но говорите каждый второй такт или каждый третий по вашему выбору.

...