Поиск…


Вступление

Одной из основных полезных функций gnuplot является возможность создания файлов данных . Построение файла данных на самом деле прост с gnuplot , фактически, как только вы открыли программное обеспечение с терминала, вам нужно всего лишь нарисовать команду plot 'file' чтобы получить автоматический график.

Прежде всего, перед построением графика вы должны быть уверены, что находитесь в том же каталоге, где находится файл данных, иначе вы в конце концов получите warning .

Синтаксис

  • сюжетный файл данных с использованием column_expression со стилем

Выделите один файл данных

Команда Gnuplot по умолчанию plot (также только p ) участок набора данных со столбцами, в виде data_set.dat файла ниже.

# Prototype of a gnuplot data set
# data_set.dat
# X -   X^2 -    2*X -    Random 
0       0        0        5
1       1        2        15
1.4142  2        2.8284   1
2       4        4        30
3       9        6        26.46
3.1415  9.8696   6.2832   39.11
4       16       8        20
4.5627  20.8182  9.1254   17 
5.0     25.0     10.0     25.50
6       36       12       0.908

Как вы можете видеть, вы можете писать в своем наборе данных в нотации с плавающей запятой. Теперь все готово сделать график данных: набрав только

plot "data_set.dat"

Gnuplot будет производить график в вашем output назначения. В настройках по умолчанию будут использоваться первые два столбца вашего файла данных, соответственно x и y. Чтобы указать столбцы, которые должны быть построены, using спецификатор using

plot "data_set.dat" using 2:4

что означает «заархивируйте файл, используя столбец 2, как X, а столбец 4 - как Y». В случае, если ваш набор данных представляет собой трехмерный файл, просто используйте объявление splot добавьте z-столбец

splot "data_set.dat" using 1:2:3

Существует также другой стиль (см. Документацию по gnuplot или Выбор стиля построения для дополнительной информации) для создания точек. Как уже было сказано, стиль по умолчанию - это point

plot "data_set.dat" using 1:4 with point

который будет отображаться так же, как если бы вы не вводили with point . Полезным стилем для построения данных является linespoint которая, очевидно, «линии + точки». НАПРИМЕР:

plot "data_set.dat" using 1:4 with linespoint
# the abbreviated form is completely equivalent:
# p "data_set.dat" u 1:4 w lp

linespoint

Формы итерации

В случае , если есть несколько столбцов и хотят построить их все в том же графике просто перейти к plot функции любому аргументу , который вы предпочитаете, разделяя их с , :

p "data_set.dat" u 1:2 w lp,\
    "data_set.dat" u 1:3 w lp,\
    "data_set.dat" u 1:4 w lp

Во всяком случае иногда может быть слишком много столбцов для записи по одному. В этом случае результаты цикла for итерации очень полезны:

p for [col = 2:4] "data_set.dat" using 1:col w lp

который дает выход

Итерированный участок

Вкратце, for итерации увеличивайте переменную в цикле, в этом случае col , с определенными шагами (если не указано = 1). Например, for [i = 0:6:2] будет увеличиваться i от 0 до 6 в 2 этапа: i = 0, 2, 4, 6 . Все значения (начало, остановка и приращение) передаются в целочисленные значения.

* Сетка

Сетка часто полезна при построении набора данных. Чтобы добавить тип сетки

set grid

Построение нескольких файлов данных

Первый метод - Конкатенация строк

Самый простой способ построения нескольких файлов данных - вставить цикл for внутри команды plot gnuplot. Предполагая, что у вас есть N файлов, названных последовательно, т.е.

file_1.dat
file_2.dat
file_3.dat
...
file_N.dat

Выполнение команды

plot for[i = 1:N] "file_".i.".dat" 

будет отображать все файлы между file_1.dat и file_N.dat в том же графе.


Пример с тремя файлами данных

Таблица наборов данных

X-оси Y-Axe file_1.dat Y-Axe file_2.dat Y-Axe file_3.dat
1 1 1 1
2 2 4 2
3 3 9 6
4 4 16 24
5 5 25 120

команды

set terminal postscript color noenhanced ##setting the term
set output "multiple_files.ps"

set key center ##legend placement

plot [1:5][1:120] \
    for [i = 1:3] "file_".i.".dat" \
    pointsize 1.3 linecolor i+4 \
    title "file\_".i.".dat" \
    with linespoint

Цикл начинается с for [i = 1:3] "file_".i.".dat" и выполняет команду plot до тех пор, пока не достигнет i = 3 . .i. это конкатенированное число.

title "file\_".i.".dat" был написан с помощью \ для того, чтобы символ _ в имени файлов отображался как символ подчеркивания, а не индекс , а noenhanced specifier является основополагающим для получения этого результата ,

Окончательный результат показан ниже

Примерный график


Второй метод - использование функции sprintf

Другой возможный путь для последующего использования - использовать функцию sprintf которая работает в основном так же, как C-language sprintf . Правильный синтаксис из документации gnuplot 5.1

sprintf("format", x, y, ...)

Краткий пример прояснит все сомнения.

file_name(n) = sprintf("file_%d.dat", n)
plot for[i = 1:N] file_name(i) title file_name(i)


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow