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

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


gnuplot

Розбіжності

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

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

Both sides previous revision Попередня ревізія
Наступна ревізія
Попередня ревізія
gnuplot [2014/11/15 00:11]
wombat [Разные примеры]
gnuplot [2015/06/01 01:10] (поточний)
wombat [Нанесение кружочков из таблицы на карту в виде Меркаторовской проекции]
Рядок 1: Рядок 1:
 ====== Gnuplot ====== ====== Gnuplot ======
 +
 +Gnuplot может работать как в режиме интерактивной командной строки (когда команды вводятся в командную строку Gnuplot последовательно,​ один за другим),​ так и в неинтерактивном режиме (когда в Gnuplot передаётся сразу весь список команд,​ составленный заранее). Так, например,​ сценарий
 +
 +<​code>​
 +set terminal png;
 +plot "​data2D.dat"​ with lines;
 +</​code>​
 +
 +можно выполнить одной командой следующего вида:
 +
 +  gnuplot -e 'set terminal png; plot "​data2D.dat"​ with lines;'​ | display
 +
 +Здесь сам Gnuplot генерирует PNG-файл с графиком,​ который тут же направляется в утилиту ''​display''​ из пакета [[imagemagick|ImageMagick]].
  
 ===== Простые примеры ===== ===== Простые примеры =====
  
 +{{::​2d_plot_simple.png?​200 |}}
 <​code>​ <​code>​
-gnuplot -e 'set terminal png; plot "datafile.dat" with lines;' | display+set terminal png;  
 +plot "data2D.dat" with lines;
 </​code>​ </​code>​
  
-С логарифмической шкалой по осям X и Y: 
-  gnuplot -e 'set terminal png; set logscale xy; plot "​SOAVAR.dat"​ with lines;'​ | display 
  
-С сеткой координат:​ +----
-  gnuplot ​-e 'set terminal png; set logscale xy; set grid; plot "​SOAVAR.dat"​ with lines;'​ | display+
  
 +{{::​2d_plot_log_grid.png?​200 |}}
 +С логарифмической шкалой по осям X и Y и координатной сеткой:​
 +<​code>​
 +set terminal png;
 +set logscale xy;
 +plot "​data2D.dat"​ with lines;
 +</​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
  
 ===== Разные примеры ===== ===== Разные примеры =====
Рядок 29: Рядок 52:
  
  
-==== Нанесение кружочков ​на из таблицы на карту в виде Меркаторовской проекции ====+==== Нанесение кружочков из таблицы на карту в виде Меркаторовской проекции ====
  
-  /​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 +{{::​2d_map_earthquakes.png?​200 ​|}} 
- +<​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 +set terminal png; 
- +set grid
-  /​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+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-3with 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: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   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.1416003068.txt.bz2 · В останнє змінено: 2014/11/15 00:11 by wombat