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

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

запускаем набрав gnuplot в консоли и входим в режим ввода команд.
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 © 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).
gnuplot> plot sin(x)

Вывод:

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

# Первый столбик - год, второй и третий - какие либо данные.
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. Запишем в консоли:
gnuplot> plot "data.txt" using 1:2 with lines, "data.txt" using 1:3 with linespoints

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

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




Напоследок пример из википедии:
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)

Вывод — самое первое фото в посте.
  • +2
  • 13 февраля 2011, 01:02
  • Biotin

Комментарии (3)

RSS свернуть / развернуть
+
+1
О, спасибо, как раз в тему пост пришолся. Я сейчас хочу поставить камеру на бампер машины, чтобы сканировать дорогу и выдавать предупреждения о неровностях впереди :) Сейчас курю доки по OpenVC, там много чего есть. Еще думаю камеру в салон поставить, чтобы управлять музыкой кивками :)
avatar

baxi

  • 13 февраля 2011, 11:02
+
0
Я имел ввиду OpenCV конечно же :)
avatar

baxi

  • 13 февраля 2011, 11:02
+
+1
Интересная штука OpenCV. Если реализуешь — поделись результатом тут. Думаю, всем будет интересно :)
avatar

Biotin

  • 13 февраля 2011, 14:06

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.