Gnuplot
Для какого возраста предназначен язык | 18«18» не входит в список (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ...) допустимых значений для свойства «Возрастная категория». |
---|---|
Компетенции в каких сферах формирует | Innovative Designer |
Purpose | Специальный прикладной язык |
Visual_Text_Blocks | Текст |
Dimension | 2D |
Openness | Открытый |
Address | http://www.gnuplot.info/ |
Ancestors | |
Descendants | |
ActiveNow | Project is active |
Remixing? | No |
Год создания | |
Inventor |
Содержание
GnuPlot литература:
Gnuplot in Action: Understanding Data with Graphs, Manning Publications, 2009
Ссылки:
- http://ru.wikipedia.org/wiki/Gnuplot
- http://fsweb.info/calculations/gnuplot.html Gnuplot портативная программа для визуализации данных и создания графиков функций (используя режим командной строки) для операционных систем UNIX, IBM OS/2, MS Windows, DOS, Macintosh, VMS, Atari и многих других. Эта программа защищена авторским правом, но свободна для распространения
- http://linux.unn.ru/debian/node/13 - в нижегородском репозитории свободного ПО
- http://wiki.linuxformat.ru/index.php/LXF71:Gnuplot
Gnuplot команды
- Как вставлять данные в графику? http://www.mediawiki.org/wiki/Extension:Gnuplot
- Подготовить текстовый файл с данными, загрузить его и потом использовать внутри gnuplot
- Вставить данные непосредственно в тело скрипта. Данные вводятся линия за линией. Каждая линия закрывается знаком 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> set title "GnuplotBasic Sample 3" set xlabel "Month of 2008" set ylabel "Amount (Euro)" plot '-' using 1:3 title 'planned' with linesp lt 1 lw 1 1 300000 42775 50000 2 300000 85550 83200 3 300000 128325 137650 4 300000 171100 187655 5 300000 213875 246585 6 300000 256650 265475 7 300000 299425 309870 8 300000 342200 363976 9 300000 384975 403692 10 300000 427750 459872 11 300000 470525 491234 12 300000 513300 536829 </gnuplot>
<gnuplot> set xrange [0:+7] set yrange [30000:35000] plot '-' using 1:2 title 'Users' with linesp lt 3 lw 1, \
'-' using 1:5 title 'Files' with linesp lt 2 lw 1
1 31738 133291 36468 589615 55553 2 31741 133337 36477 589861 55583 3 31762 133361 36480 590017 55595 4 31782 133397 36487 590356 55611 5 31801 133438 36491 590603 55629 6 31815 133457 36497 590888 55632 </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>
plot '-' using 1:2 title 'Users' with line lt 1 lw 2, \ '-' using 1:2 title 'pages' with linesp lt 2 lw 2 , \ '-' using 1:2 title 'articles' with linesp lt 3 lw 2 , \ '-' using 1:2 title 'files' with linesp lt 4 lw 2
1 31711 2 31718 3 31738 4 31741 5 31762 6 31782 7 31801 8 31815 9 31825 10 31856 11 31895 e 1 133241 2 133248 3 133291 4 133337 5 133361 6 133397 7 133438 8 133457 9 133499 10 133563 11 133632 e 1 36449 2 36450 3 36468 4 36477 5 36480 6 36487 7 36491 8 36497 9 36500 10 36533 11 36545 e 1 55535 2 55536 3 55553 4 55583 5 55595 6 55611 7 55629 8 55632 9 55641 10 55652 11 55668 </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>