Gnuplot

Материал из Поле цифровой дидактики
Краткое описание языка
Компетенции в каких сферах формирует Innovative Designer
Парадигмы программирования
Возрастная категория
Назначение языка (Общее / Учебное) Специальный прикладной язык
Visual_Text_Blocks Текст
Измерение (2D/3D/Tangible) 2D
Открытость продукта Открытый
Address http://www.gnuplot.info/
Предки (Ancestors)
Потомки (Descendants)
Активность в данный момент Project is active
Доступны ремиксы?
Год создания
Создатели
Поясняющее видео
Используется для создания мобильных приложений?
Gnuplot упоминается в свойствах следующих страниц


GnuPlot литература:

Gnuplot in Action: Understanding Data with Graphs, Manning Publications, 2009

http://i.pdfchm.net/7/e/16223/200/Gnuplot-in-Action-Understanding-Data-with-Graphs.jpg

Ссылки:

Gnuplot команды

  • Как вставлять данные в графику? http://www.mediawiki.org/wiki/Extension:Gnuplot
    1. Подготовить текстовый файл с данными, загрузить его и потом использовать внутри gnuplot
    2. Вставить данные непосредственно в тело скрипта. Данные вводятся линия за линией. Каждая линия закрывается знаком e.


<gnuplot> set xlabel 'days'

plot '-' using 1:2 t 'Days' with linesp lt 1 lw 3, \
'-' using 1:2 t 'cubic approximation'  with linesp lt 2 lw 3

1 2 2 8 3 15 e 1 2 2 50 3 70 </gnuplot>


<gnuplot> set xlabel 'days'

plot '-' using 1:2 t 'Days' with linesp lt 1 lw 3, \
'-' using 1:2 t 'cubic approximation'  with linesp lt 2 lw 3

1 2 2 8 3 16 e 1 2 2 50 3 70 </gnuplot>

plot '-' using 1:2 t 'Days' with linesp lt 1 lw 3, \ '-' using 1:2 t 'cubic approximation' with linesp lt 2 lw 3 1 2 2 8 3 15 e 1 2 2 50 3 70

И здесь как-то удается собрать несколько линий на одном рисунке


Описания и пояснения к графикам

  • По оси х - set xlabel 'Days or something'
  • По оси y - set ylabel 'Number'
  • Подписи к данным? задается командой t

Команды

  • plot '-' данные считываются из строк, которые следуют ниже
    • plot '-' using 1:2 title 'A' ", \"
    • '-' lt1
  • index
  • every
  • set - установка параметров
    • set logscale - показывать по логарифмической шкале
  • unset
    • unset border
  • using - например 1:2 - какие колонки цифр нужно использовать при работе
  • smooth
  • smooth acsplines
  • with lines
  • with points
  • with boxes
  • with linepoints
  • t title - подпись к линии

Столбцы

Gnuplot/Столбцы

Math

<gnuplot> plot '-' using 1:(sqrt($2)) title 'Authors' with line lt 1 lw 2 ,\ 1 31738 2 31741 3 31762 4 31782 5 31801 6 31815 </gnuplot>

Every

Every - указывает интервал, через который берутся данные - например, в следующем списке каждое четвертое значение, начиная с первого (нулевого). Можно менять начальное значение, а вот можно ли вставлять несколько графиков - непонятно. <gnuplot>

plot '-' every 4::0 using 1:2 t 'Users' with linesp lt 1 lw 3 

1 31711 1 133241 1 36449 1 55535 2 31718 2 133248 2 36450 2 55536 3 31738 3 133291 3 36468 3 55553 4 31741 4 133337 4 36477 4 55583 5 31762 5 133361 5 36480 5 55595 6 31782 6 133397 6 36487 6 55611 7 31815 7 133457 7 36497 7 55637 </gnuplot>

Толщина линии

  • lw 1 - самая тонкая

Цвета линий

  • lt1 - Красный
  • lt2 - Зеленый
  • lt3 - Синий
  • lt4 - Фиолетовый
  • lt5 - Голубой
  • lt6 - Темно-оранжевый
  • lt7 - Желтый
  • lt8 - Темно-синий
  • lt9 - Темно-желтый
  • lt10 Зеленый

????

Например:

<gnuplot> set xlabel 'days' set ylabel 'number' plot '-' title 'A' using 1:2 with linespoints , using 1:3 with lines 1 1358 90236 2 23033 105697 3 27124 12100 4 31682 133193 5 31767 133365 </gnuplot>

Летопись/Gnuplot

Летопись/Gnuplot


Gnuplot - примеры

1

  • Только <gnuplot> plot sin(x) </gnuplot> а какой результат

<gnuplot> plot sin(x) </gnuplot>


2

<gnuplot>

plot '-' using 1:2 t 'quadratic approximation' with linespoints lt 1 lw 3, \
'-' using 1:2 t 'cubic approximation' with linespoints lt 2 lw 3
1 2
2 4
3 8
e
1 3
2 9
3 27
e

</gnuplot>


3

<gnuplot> set size 0.4,0.4 set xlabel "x" set ylabel "y" plot [x=-4:4] x**2-3, -x**2 </gnuplot>


4

<gnuplot>

plot '-' using 1:2 t 'quadratic approximation' with linesp lt 1 lw 3, \
'-' using 1:2 t 'cubic approximation' with linesp lt 2 lw 3
1 2
2 4
3 8
e
1 3
2 9
3 27
e

</gnuplot>


<gnuplot> plot [-5*pi:5*pi] sin(x)/x with lines lt 1 lw 5, 1/x with lines lt 2 lw 1 </gnuplot>