12 Feb

Gnuplot – графическое отображение данных.

Как мне кажется, развитие научных проектов в области Open Source идет большими шагами. Не все, как говориться, делается ради материальной выгоды. Благо сохранились на свете люди, которые хотя бы частичку своего драгоценного времени из такой короткой жизни уделяют на создание различных приложений, спобоствующей в какой то степени техническому и научному прогрессу. На данный момент в мире есть много интересных и научных разработок. Да еще многое техническое оборудование работает на опен соурс на много эффективнее. Ведь не зря на недавний выпуск Debian 6 среди новшеств указывалось на внедренние в репозитории новых пакетов, которые представляют возможность работать например с фотографиями современного рентген и сканирующего оборудования(Компьютерная томография и Магнитнорезонансная Томография). Это еще только один пример. А таких насчитывается очень много.
Собственно программа, о котором сегодня пойдет речь, представляет графическое оформление различным данным, взятых из файла или непосредственно внесенные из консоли, разработанная еще в далеком прошлом (во времена только возникновения GNU – собственно оттуда и название) двумя разработчиками Thomas Williams и Colin Kelley, но в дальнейшем дополненная другими. В буквальном смысле программа представляет любые данные в виде штрихов и линий на графике и скорее подойдет для математиков. Графическое оформление данных на много легче визуальнее анализировать.
Устанавливаем на Ubuntu:

1
sudo apt-get install gnuplot

запускаем набрав gnuplot в консоли и входим в режим ввода команд.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
biotin@thinkpad:~/Desktop$ gnuplot

G N U P L O T
Version 4.4 patchlevel 0
last modified March 2010
System: Linux 2.6.35-22-generic

Copyright (C) 1986-1993, 1998, 2004, 2007-2010
Thomas Williams, Colin Kelley and many others

gnuplot home:     http://www.gnuplot.info
faq, bugs, etc:   type "help seeking-assistance"
immediate help:   type "help"
plot window:      hit 'h'

Terminal type set to 'wxt'
gnuplot>

Построим простой график sin(x).

1
gnuplot> plot sin(x)

Вывод:

А теперь введем данные из файла. Создадим файл примерно такого содержания:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<ol>
<li>Первый столбик - год, второй и третий - какие либо данные.</li>
</ol>


1970    56  120
1971    78  110
1972    90  100
1973    101 95
1974    116 89
1975    120 80
1976    118 78
1978    130 50
1979    140 20
1980    160 5

И сохраним его как data.txt. Запишем в консоли:

1
gnuplot> plot "data.txt" using 1:2 with lines, "data.txt" using 1:3 with linespoints

Где указываем най файл и столбцы: отношение 1 к 2 в виде линий и 1 к 3 столбцу в виде линий и звездочек.
Получаем вот такой вот результат:

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

1
2
3
4
5
6
7
8
9
10
gnuplot> set xlabel "x"
gnuplot> set ylabel "y"
gnuplot> set key top
gnuplot> set border 4095
gnuplot> set xrange [-15:15]
gnuplot> set yrange [-15:15]
gnuplot> set zrange [-0.25:1]
gnuplot> set pm3d
gnuplot> set palette
gnuplot> splot sin(sqrt(x**2+y**2))/sqrt(x**2+y**2)

Вывод – самое первое фото в посте.

Tweet about this on TwitterShare on FacebookShare on Google+Share on RedditShare on VK