Користувальницькькі налаштування

Налаштування сайту


gnuplot

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
gnuplot [2014/05/31 17:08]
wombat створено
gnuplot [2015/06/01 01:10] (поточний)
wombat [Нанесение кружочков из таблицы на карту в виде Меркаторовской проекции]
Рядок 1: Рядок 1:
 ====== Gnuplot ====== ====== Gnuplot ======
 +
 +Gnuplot может работать как в режиме интерактивной командной строки (когда команды вводятся в командную строку Gnuplot последовательно,​ один за другим),​ так и в неинтерактивном режиме (когда в Gnuplot передаётся сразу весь список команд,​ составленный заранее). Так, например,​ сценарий
  
 <​code>​ <​code>​
-gnuplot -e 'set terminal png; set ticslevel 2.5; set palette defined ( 0 +set terminal png; 
- "​black",​ 1 "​dark-blue",​ 1000 "​green",​ 2000 "​yellow",​3000 "​red"​);​set pm3d at bs; splot "​sheet01.txt" with pm3d' | display+plot "data2D.dat" with lines; 
 +</​code>​
  
-gnuplot -e 'set terminal png crop; set title "​Sheet";​ set view 60,10; set ticslevel 2.5; set palette defined ( 0 "​black",​ 1 "​dark-blue",​ 1000 "​cyan",​ 1500 "​green",​ 2000 "​yellow",​3000 "​red"​);​set pm3d at bs; splot "​sheet23.txt"​ with pm3d notitle'​ | display+можно выполнить одной командой следующего вида:
  
-gnuplot -e 'set terminal png cropset title "Phase sheet 23" offset 0,-5; set view 60,10; set ticslevel 2.5; set palette defined ( 0 "black",​ 1 "​dark-blue",​ 1000 "​cyan",​ 1500 "​green",​ 2000 "​yellow",​3000 "​red"​)set colorbox vertical user origin 0.9,0.1 size 0.03,0.7; set pm3d at bs; splot "​sheet23.txt"​ with pm3d notitle' | display+  ​gnuplot -e 'set terminal png; plot "data2D.dat" ​with lines;' | display
  
-gnuplot ​-e 'set terminal png crop size 600,800; set title "Phase sheet 23" offset 0,-10; set view 70,10; set ticslevel 1; set palette defined ( 0 "​black",​ 1 "​dark-blue",​ 1000 "​cyan",​ 1500 "​green",​ 2000 "​yellow",​3000 "​red"​);​ set colorbox vertical user origin 0.9,0.1 size 0.03,0.7; set ztics 0,500,3500; set pm3d at bs; splot "​sheet23.txt"​ with pm3d notitle' | display+Здесь сам Gnuplot генерирует PNG-файл с графикомкоторый тут же направляется в утилиту ​''​display''​ из пакета [[imagemagick|ImageMagick]].
  
-gnuplot -e 'set terminal png crop size 600,800; set title "Phase sheet 23" offset 0,-10; set view 70,10; set ticslevel 1; set palette defined ( 0 "​black",​ 1 "​dark-blue",​ 1000 "​cyan",​ 1500 "​green",​ 2000 "​yellow",​3000 "​red"​);​ set colorbox vertical user origin 0.9,0.1 size 0.03,0.7; set pm3d at bs; splot "​sheet32.txt"​ with pm3d notitle'​ | display+===== Простые примеры =====
  
-============== Нанесение кружочков на из таблицы на карту в виде Меркаторовской проекции ============= +{{::​2d_plot_simple.png?​200 |}} 
-/​home/​vova/​local/​bin/​gnuplot -persist -e 'set terminal png crop size 720,360; set title "Phase sheet 23"; set xrange [-180:180]; plot "test_map.txt" ​using ($1+80-360*floor(abs($1+80)/180)):​(log(tan(pi/​4 - $2/2))):3 with circles fill solid'​| display+<​code>​ 
 +set terminal png;  
 +plot "data2D.dat" ​with lines; 
 +</code>
  
-/​home/​vova/​local/​bin/​gnuplot -persist -e 'set terminal png crop size 720,360; set title "Phase sheet 23"; set xrange [-180:180]; set ytics ("​0"​ 0, "​-30"​ log(tan(pi/​4 + (-pi/​6)/​2)),​ "​30"​ log(tan(pi/​4 + (pi/​6)/​2)),"​-60"​ log(tan(pi/​4 + (-pi/​3)/​2)),​ "​60"​ log(tan(pi/​4 + (pi/3)/2)), "​-80"​ log(tan(pi/​4 + (-pi*80/​180)/​2)),​ "​80"​ log(tan(pi/​4 + (pi*80/​180)/​2)));​ plot "​test_map.txt"​ using ($1+80-360*floor(abs($1+80)/​180)):​(log(tan(pi/​4 - $2/2))):3 with circles fill solid'​| display 
  
-/​home/​vova/​local/​bin/​gnuplot ​-persist ​-e 'set terminal svg; set title "​Circles on Mercator projection";​ set xrange [-180:180]; set yrange[log(tan(pi/​4 + (-pi*70/​180)/​2)):log(tan(pi/​4 + (pi*72.5/​180)/​2))]; ​set ytics ("​0"​ 0, "​-30"​ log(tan(pi/​4 + (-pi/​6)/​2)),​ "​30"​ log(tan(pi/​4 + (pi/​6)/​2)),"​-60"​ log(tan(pi/​4 + (-pi/​3)/​2)),​ "​60"​ log(tan(pi/​4 + (pi/3)/2)), "​-80"​ log(tan(pi/​4 + (-pi*80/​180)/​2)),​ "​80"​ log(tan(pi/​4 + (pi*80/​180)/​2))); set xtics -180,​30,​180;​ unset key;plot "test_map.txt" ​using ($1+80-360*floor(abs($1+80)/​180)):​(log(tan(pi/​4 + (pi*$2/​180)/​2))):​3 ​with circles fill solid lc 2' > test_map.svg+---- 
 + 
 +{{::​2d_plot_log_grid.png?200 |}} 
 +С логарифмической шкалой по осям X и Y и координатной сеткой:​ 
 +<​code>​ 
 +set terminal png; 
 +set logscale xy; 
 +plot "data2D.dat" with lines;
 </​code>​ </​code>​
 +
 +----
 +
 +  gnuplot -e 'set terminal png; set yrange [0:300]; set xrange [0:5]; set xlabel "​Energy,​ MeV"; set ylabel "​Counts";​ plot "​Lab5-spectrum.build/​out_spectrum.dat"​ using ($2):($3) with steps title "5GeV source, Water absorber"'​ | display
 +
 +===== Разные примеры =====
 +
 +
 +  gnuplot -e 'set terminal png; set ticslevel 2.5; set palette defined ( 0 "​black",​ 1 "​dark-blue",​ 1000 "​green",​ 2000 "​yellow",​3000 "​red"​);​set pm3d at bs; splot "​sheet01.txt"​ with pm3d' | display
 +
 +  gnuplot -e 'set terminal png crop; set title "​Sheet";​ set view 60,10; set ticslevel 2.5; set palette defined ( 0 "​black",​ 1 "​dark-blue",​ 1000 "​cyan",​ 1500 "​green",​ 2000 "​yellow",​3000 "​red"​);​set pm3d at bs; splot "​sheet23.txt"​ with pm3d notitle'​ | display
 +
 +  gnuplot -e 'set terminal png crop; set title "Phase sheet 23" offset 0,-5; set view 60,10; set ticslevel 2.5; set palette defined ( 0 "​black",​ 1 "​dark-blue",​ 1000 "​cyan",​ 1500 "​green",​ 2000 "​yellow",​3000 "​red"​);​ set colorbox vertical user origin 0.9,0.1 size 0.03,0.7; set pm3d at bs; splot "​sheet23.txt"​ with pm3d notitle'​ | display
 +
 +  gnuplot -e 'set terminal png crop size 600,800; set title "Phase sheet 23" offset 0,-10; set view 70,10; set ticslevel 1; set palette defined ( 0 "​black",​ 1 "​dark-blue",​ 1000 "​cyan",​ 1500 "​green",​ 2000 "​yellow",​3000 "​red"​);​ set colorbox vertical user origin 0.9,0.1 size 0.03,0.7; set ztics 0,500,3500; set pm3d at bs; splot "​sheet23.txt"​ with pm3d notitle'​ | display
 +
 +  gnuplot -e 'set terminal png crop size 600,800; set title "Phase sheet 23" offset 0,-10; set view 70,10; set ticslevel 1; set palette defined ( 0 "​black",​ 1 "​dark-blue",​ 1000 "​cyan",​ 1500 "​green",​ 2000 "​yellow",​3000 "​red"​);​ set colorbox vertical user origin 0.9,0.1 size 0.03,0.7; set pm3d at bs; splot "​sheet32.txt"​ with pm3d notitle'​ | display
 +
 +
 +
 +==== Нанесение кружочков из таблицы на карту в виде Меркаторовской проекции ====
 +
 +{{::​2d_map_earthquakes.png?​200 |}}
 +<​code>​
 +set terminal png;
 +set grid;
 +set title "​Circles on Mercator projection"; ​
 +set xrange [-180:​180]; ​
 +set yrange[log(tan(pi/​4 + (-pi*70/​180)/​2)):​log(tan(pi/​4 + (pi*72.5/​180)/​2))]; ​
 +set ytics ("​0"​ 0, "​-30"​ log(tan(pi/​4 + (-pi/​6)/​2)),​ "​30"​ log(tan(pi/​4 + (pi/​6)/​2)),"​-60"​ log(tan(pi/​4 + (-pi/​3)/​2)),​ "​60"​ log(tan(pi/​4 + (pi/3)/2)), "​-80"​ log(tan(pi/​4 + (-pi*80/​180)/​2)),​ "​80"​ log(tan(pi/​4 + (pi*80/​180)/​2))); ​
 +set xtics -180,​30,​180; ​
 +plot "​earthquakes2015-M3.dat"​ using ($3+360*floor(abs($3)/​180)):​(log(tan(pi/​4 + (pi*$2/​180)/​2))):​($5-3) with circles fill solid lc 2 title "​Earthquakes-2015"​
 +</​code>​
 +
 +Хотя, намного умнее делать это при помощи [[generic_mapping_tools|GMT]].
 +
 +  gnuplot -persist -e 'set terminal png size 1024,400; set xrange [0:100]; set xtics 0,5,100; plot "​distribution_1.txt"​ with lines title "​lambda = 1","​distribution_2.txt"​ with lines title "​lambda = 2","​distribution_3.txt"​ with lines title "​lambda = 3","​distribution_4.txt"​ with lines title "​lambda = 4","​distribution_5.txt"​ with lines title "​lambda = 5","​distribution_6.txt"​ with lines title "​lambda = 6","​distribution_7.txt"​ with lines title "​lambda = 7","​distribution_8.txt"​ with lines title "​lambda = 8","​distribution_9.txt"​ with lines title "​lambda = 9","​distribution_10.txt"​ with lines title "​lambda = 10","​distribution_15.txt"​ with lines title "​lambda = 15","​distribution_20.txt"​ with lines title "​lambda = 20","​distribution_30.txt"​ with lines title "​lambda = 30","​distribution_40.txt"​ with lines title "​lambda = 40","​distribution_50.txt"​ with lines title "​lambda = 50"'​ | display
 +
 +  gnuplot -persist -e 'set terminal png size 1024,400; set xrange [0:50]; set xtics ("​1"​ 1, "​2"​ 2, "​3"​ 3, "​4"​ 4, "​5"​ 5, "​6"​ 6, "​7"​ 7, "​8"​ 8, "​9"​ 9, "​10"​ 10, "​15"​ 15, "​20"​ 20, "​30"​ 30, "​40"​ 40, "​50"​ 50, "​100"​ 100); plot "​distribution_1.txt"​ with lines title "​lambda =  1","​distribution_2.txt"​ with lines title "​lambda =  2","​distribution_3.txt"​ with lines title "​lambda =  3","​distribution_4.txt"​ with lines title "​lambda =  4","​distribution_5.txt"​ with lines title "​lambda =  5","​distribution_6.txt"​ with lines title "​lambda =  6","​distribution_7.txt"​ with lines title "​lambda =  7","​distribution_8.txt"​ with lines title "​lambda =  8","​distribution_9.txt"​ with lines title "​lambda =  9","​distribution_10.txt"​ with lines title "​lambda = 10","​distribution_15.txt"​ with lines title "​lambda = 15","​distribution_20.txt"​ with lines title "​lambda = 20","​distribution_30.txt"​ with lines title "​lambda = 30"'​ | display
 +
 +
 +  ​
 +==== Поверхности ====
 +
 +=== Из нерегулярной сетки точек ===
 +
 +http://​gnuplot.info/​demo/​dgrid3d.html
  
 ===== Полезные ссылки ===== ===== Полезные ссылки =====
gnuplot.1401545300.txt.bz2 · В останнє змінено: 2014/05/31 17:08 by wombat