Интерактивная среда построения графиков GNUPLOT

gnuplot — свободная программа для создания двух- и трёхмерных графиков. gnuplot - терминальное интерактивное приложение в среде ОС UNIX. Позволяет выполнять построение 2-х и 3-х мерных графиков функций. Функции могут задаваться как в аналитическом виде, так и в виде табличных данных, хранящихся в файлах. Набор команд для построения некоторого графика (или группы графиков) может быть записан в файл и выполнен одной командой. Для работы с gnuplot необходима установка на клиентской машине графической среды X-Window (В MS Windows можно установить NX Client или MobaXterm).

  • Вызовите gnuplot:

    Рис.№1Рис.№1

    После исполнения команды вы увидите, что установлен терминал 'X11':

    Рис.№2Рис.№2

  • Следом за вызовом gnuplot можно задавать команды и просматривать результаты их выполнения, например, команда:

    plot f(x)=sin(x*a),a=0.2,f(x),a=0.4,f(x)

    нарисует график:

    Рис.№3Рис.№3

  • , а команда splot x*x+y*y создаст эллиптический параболоид :

    Рис.№4Рис.№4

  • Можно использовать команды заливки, рисования сетки по всем осям,например, для sin(sqrt(x*x+y*y))/sqrt(x*x+y*yРис. №5. Используются команды set pm3d и set grid xtics ytics zticsРис. №5. Используются команды set pm3d и set grid xtics ytics ztics

В современных версиях gnuplot, при использовании интерактивных терминалов (x11,wxt) точку зрения можно менять поворачивая изображение при нажатой кнопке мыши.

Работа в gnuplot осуществляется в двух режимах:

  1. Интерактивный. Пользователь общается с программой с помощью командной строки в режиме реального времени (см. рисунки №3, №4 и №5).
  2. Пакетный. Пользователь подготавливает файл, содержащий последовательный набор команд (новая команда начинается с новой строки). При работе в таком режиме командный файл должен находиться в одной директории с исполняемым файлом gnuplot. После установки gnuplot обработка команд содержащихся в файле, например, simpe1.graph, выполняется командой
    $ gnuplot simpe1.graph
    .
      1. Пример содержимого файла simple1.graph:
        set terminal windows
        set parametric
        set encoding koi8r
        set size square
        set xrange [-1:1]
        set yrange [-1:1]
        f(x)=sin(x) g(x)=cos(x)
        plot f(t), g(t) with points ls 3
        Рис.№6. График, построенный командами файла simple1.graphРис.№6. График, построенный командами файла simple1.graph
      2. Пример визуализации данных файла:
        Содержимое командного файла:
        set terminal windows
        set encoding koi8r
        set yrange [0:1]
        set xrange [0:1]
        plot "RMSresult" with lines and points
         
         
         
         
         
         
        Содержимое файла данных
        (RMSresult ):

        0.1 0.61881100
        0.2 0.55289577
        0.3 0.71881100
        0.4 0.55289577
        0.5 0.61881100
        0.6 0.55289577
        0.7 0.61881100
        0.8 0.55289577
        0.9 0.61881100
        1.0 0.55289577
        Рис. №7. График, построенный по данным файла.Рис. №7. График, построенный по данным файла.
      3. Пример построения графика с помощью пакетного режима. gnuplot выполняет команды из файла и сохраняет график в файле, который можно просмотреть графическим редактором:

        Содержимое командного файла:
        set term postscript eps
        set palette gray
        set view 45,45
        set isosamples 50
        set output "primer1.eps"
        splot (cos(5*acos(y/sqrt(x*x+y*y)))/(1+(x*x+y*y))**0.25) w pm3d
        Рис. №8. График из файла, прочитанный Adobe Photoshop 7.0Рис. №8. График из файла, прочитанный Adobe Photoshop 7.0
        1. C сайта http://yurae.boom.ru/softest/GnuPlot.htm:

          " GnuPlot может рисовать графики функций, заданных формулой или точками. Это могут быть функции одной (линия на плоскости) или двух (поверхность в пространстве) переменных. Можно строить графики функций, заданных параметрически, рисовать кривые в полярных координатах. Дополнительно можно наносить на рисунок надписи и стрелки. Поддерживаются различные стили линий и точек, шрифты. Возможен вывод на экран или в файлы различного типа. Кроме того, программа позволяет аппроксимировать экспериментальный набор точек кривыми заданного вида. Работать программа может как под управлением Windows, так и под управлением Unix-подобных ОС. При всем этом, программа абсолютно бесплатна".

          Описание языка можно посмотреть на сайте http://jarosh.by.ru/gnuplot/gnuplot_rus.html