GNUplot
Предварительное: xming, X11-tunnelling, echo bind -v > ~/.editrc
- Основы:
help, примеры:
help functions help commands help plot with
- фнукции, print
- plot, splot
Пример: график функции
plot sin(x) splot sin(x/y)
Пример: несколько графиков вместе, подписи к осям
plot sin(1/x) title "Sin(1/x)", cos(x) title "Cos(x)"
- Полезное вспомогательное: cd, !
Пример: точки данных
plot "datafile" using 1:2 splot "datafile" using 1:2:3
Пример: использование цвета в качестве оси
set colorbox # см. help set colorbox plot "datafile" using 2:3:1 with linespoints palette splot "datafile" using 2:3:1 with linespoints palette splot "datafile" using 2:3:1:4 with linespoints palette
Пример: гистограмма
# 1. автоматом df = "datafile" plot df using 2 with histogram # 2. ручками set boxwidth 15 set style fill solid 0.5 plot "histogram-data" using 1:2 with boxes # 3. совсем ручками
Пример: цвета
plot df using 1:2 with impulses linetype rgb "blue"
Пример: заголовки осей
set xlabel "q start" set ylabel "q end" set zlabel "s start" set cblabel "s end" plot df using 7:8:9:10 with points palette
Пример: логарифмическая шкала
# 1. Ручками set ylabel "log10(stuff)" plot df using 1:(log10($2)) # 2. Автоматом set logscale y plot df using 1:2 set logscale y 2 plot df using 1:2
- Пример: диапазоны
Пример: диаметр точки в качестве оси
plot df using 1:2:3 with points pointstyle variable
Пример: функции
min(x,y) = x < y ? x : y max(x,y) = x < y ? x : y plot df using (min($1,$2)):(max($1,$2))
Пример: вписывание кривой в данные
f(x) = a*x**2 + b*x + c fit f(x) "datafile" using 7:9 via a, b, c plot "datafile" using 7:9 , "datafile" using 7:(f($7))
Пример: рисование в картинку
show terminal set terminal postscript set output "ofile.ps" plot "data" using 1:2 set term wxt
Пример: сохранение результатов сеанса
save 'filename.gnuplot'
Пример: форматы с другими разделителями
# 1. Настроить раз и навсегда set datafile separator "," set datafile comments "%" plot "data" using 1:2 # 2. Настроить для одного раза plot "data" using 1:2 '%lf,%lf,%lf'
Пример: циклы
filt(n,v) = strstrt(stringcolumn(1), n) ? v : NaN plot for [n in "1 2"] df every ::::100000 using 7:(filt(n,$8)) w points
Пример: выборки
# 1. Через each # point incr : block incr : start point : start block : end point : end block plot df each ::::1000:1 using 1:2 # 2. Через index # 3. Через ?: -- см. выше
Пример: насечки
plot df each ::::100:1 using 7:8:xtic(2)
Пример: погрешности
Пример: автовычисление погрешностей