вторник, 4 февраля 2014 г.

gnuplot заметки

Определить стили для линий [gnuplot demo]

set style line номер-стиля lt тип lc rgb цвет lw толщина-линии

set style line 1 lt 1 lc rgb "orangered" lw 2
set style line 2 lt 1 lc rgb "#006400" lw 2

plot data.csv using 2:4 title "Заголовок" with line linestyle 1

Чтение данных из файлов

Использовать первую строку файла как заголовок для графика:
set key autotitle columnhead
Произвести вычисления над данными, например умножить данные из второго столбца на 100:
plot "test.data" using 1:(100*$2)
Можно объявить свою функцию:
foo(x) = x*100
plot "test.data" using 1:(foo($2))
Использовать тернарный оператор (если?то:иначе):
plot 'test.data' using 1:($2>0?1:0)
Читать каждые N строк в файле:
plot "test.dat" every 2
Разделитель для данных в строке
set datafile separator ","

Запустить скрипт с параметрами

Например передать в скрипт имя файла с данными [SO]:

В консоли:
$ gnuplot -e "filename='foo.data'" foo.plg
В скрипте foo.plg:
if (!exists("filename")) filename='default.dat'
plot filename
pause -1

 

Текст


Кирилица в eps: необходимо добавить adobeglyphnames в следующию строку

set terminal postscript eps size 5,3 enhanced color font "Arial,12" adobeglyphnames


Греческий алфавит: {/Symbol a}, {/Symbol b}, - альфа, бета, ...
Индексы: X_1 - X1, Х^1 - X1

Алсо

В linux можно воспользоватся коммандой cut чтобы вывести на экран определённые столбцы -f из файла, разделённые -d пробелом:
cut -f 1,2,4 -d ' ' test.data

Ссылки

сайт посвящённый gnuplot
много примеров, хороших и разных [en]