Gnuplot: установка нескольких объектов путем чтения позиций из одного файла - PullRequest
0 голосов
/ 20 октября 2018

вот изображение, которое мне нужно, чтобы наконец получить Я делал фильм для кода, который я написал на C, используя gnuplot.Я должен установить много прямоугольников в окне в каждый момент времени (от x1, y1 до x2, y2), и у меня есть эти конфигурации в разных файлах .. config_00.txt, config_10.txt, config_20.txt и т. Д. Ввремена 0,10,20 и т. д. каждый из которых имеет 4 столбца x1, y1, x2, y2.Как я могу это сделать ?.Если бы мой файл хранил только x и y, и если бы мне нужно было нарисовать только линию, я мог бы написать только «plot 'config_10.txt' .. Но здесь это не так .. Мне нужно сканировать каждую строку каждого файлаи установить объекты в тех случаях, когда эта строка говорит ... Я видел что-то вроде "вызова" в gnuplot ... но я не мог понять, пожалуйста, помогите .. Я могу написать программу для сканирования каждого файла (которая хранит конфигурацию в разное время) иустановить объекты .. затем снова сбросить набор из следующего файла, но это выглядит утомительно .. для построения точек данных в файле со столбцами x, y мы можем просто сказать plot "file.txt" u 1: 2 ... но я спрашивалесть ли что-то вроде "из file_10.txt, установите прямоугольник объекта от $ 1, $ 2 до $ 3, $ 4

После установки этих объектов, чтобы увидеть конфигурацию, которую я использовал для построения чего-то вроде сюжета 0 .., так что gnuplot показывает мнемоя конфигурация

1 Ответ

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

Вы можете построить прямоугольник из одной строки ввода, используя стиль печати "boxxyerror".Для строк данных, содержащих четыре числа x1, y1, x2, y2, обозначающих два угла прямоугольника:

set style fill solid
plot 'data' using 1:2:1:3:2:4 with boxxy

Прямоугольник можно описать несколькими способами с помощью спецификатора using.Эта команда показывает формат x: y: xlow: xhigh: ylow: yhigh.Если у вас есть много отдельных файлов данных и вы хотите, чтобы они все были на одном графике, добавьте предложение итерации:

plot for [i=0:20] sprintf("config_%02d.txt", i) using 1:2:1:3:2:4 with boxxy
...