Gnuplot 5.0. Spiderplot me 4 akse vetë

Gnuplot 5.0. Spiderplot me 4 akse vetë
Gjatë punës me vizualizimin e të dhënave për artikullin, u krijua nevoja për të pasur 4 ose me etiketat pozitive në të gjitha.

Si për grafikonet e tjera të artikullit, vendosa të përdor gnuplot. Së pari, shikoja në faqen zyrtare, ku kishte shumë shembuj. U gëzova kur zbulova të nevojshmen shembull (nuk do të punoj shumë dhe do të duket bukur, mendoja).
Gnuplot 5.0. Spiderplot me 4 akse vetë
Shpejt kopjova kodin, e ekzekutoj. Marr një gabim. Kuptoj. Doli që kisha një gnuplot të vjetër (Version 5.0 patchlevel 3 modifikuar për herë të fundit 2016-02-21) dhe ai nuk e suporton këtë.

Duke ditur fleksibilitetin e gnuplot, fillova të kërkoj në hapësirat e internetit dhe natën në disa shembuj të përshtatshëm në stackoverflow (Double x-axis on a spider plot with Gnuplot dhe How to Create a Spider Plot in Gnuplot?) dhe github (gnuplot-radarchart). Ato u bënë pika fillestare.

Më pas, manipulimet e mia me komandat çuan në këtë:

0) ÇaktivizojmĂ« kufijtĂ«

unset border

1) KrijojmĂ« 4 linja zero — 2 kryesore dhe 2 shtesĂ«:

set xzeroaxis
set yzeroaxis
set x2zeroaxis
set y2zeroaxis

Një fjalë për linjat zero në dokumentacion. Kjo operacion lejon që osët të vendosen në qendër të vizatimit. Shtesat janë të nevojshme për të shfaqur tikat pozitive.

2) Konfigurojmë shfaqjen e tikeve në osë:

max = 1.5 # Për fleksibilitet
min = -max
set xtics axis 0,.5,max in scale 0.5,0.25 mirror norotate autojustify offset 0.35
set ytics axis .5,.5,max in scale 0.5,0.25 mirror norotate autojustify            
set x2tics axis .5,.5,max in scale 0.5,0.25 mirror norotate autojustify            
set y2tics axis .5,.5,max in scale 0.5,0.25 mirror norotate autojustify            

Me tica në akset e konfigurimit pak më shumë.
aks — ku do tĂ« gjenden tica, nĂ« aks ose (border — nĂ« kufi).
PĂ«r aksin x, i cili shkon nĂ« tĂ« djathtĂ« 0,.5,max. Numri i parĂ« — fillimi i numĂ«rimit, i dyti — hapi, i treti — fundi i numĂ«rimit. PĂ«r tĂ« parin nga 0, dhe pĂ«r tĂ« tjerĂ«t nga 0.5, qĂ« zerot tĂ« mos pengojnĂ« nĂ« fillimin e koordinatave.

Gnuplot 5.0. Spiderplot me 4 akse vetë
Gnuplot 5.0. Spiderplot me 4 akse vetë

Përzierja e zerove në qendër të koordinatave.
Të gjitha intervalet *tics janë të rregulluara si 0,.5,max
Pa offset 0.35 për xtics

Konfigurimi scale 0.5,0.25 mirror shton ndihmës në aks. Nëse luani me numrat, do të ndryshojë madhësia e tyre.
Gjithashtu, po fut variablat max, min, me ndihmën e të cilave menaxhoj kufijtë e akseve të grafikut.
Informata shtesë mbi konfigurimin e ticave mund të gjendet në dokumentacion në seksionin Xtics.

3) Rregullojmë intervalet e akseve:

set xrange [ min : max ] 
set yrange [ min : max ]
set x2range [ max : min ]
set y2range [ max : min ]

KĂ«tu duhet theksuar se 2 akse nisin numĂ«rimin nga min nĂ« rritje dhe 2 akse — nga max nĂ« zvogĂ«lim.
Informata shtesë në seksionin Xrange.

4) Jepni emra boshtave dhe vendosni ato bukur:

set label "H_1" at  0,       max center offset char  2, 0
set label "H_2" at  max+0.1, 0   center offset char -1, 1
set label "H_3" at  0,       min center offset char -2, 0
set label "H_4" at  min,     0   center offset char  0, 1

5) Formojmë të dhënat hyrëse
PĂ«r secilĂ«n grafikĂ« janĂ« caktuar 2 kolona. Numri i rreshtit – numri i boshtit, rreshti i pestĂ«, pĂ«r tĂ« mbyllur konturin. Kolona tek – koordinata x, kolona çift — y. Duke pas parasysh se tĂ« gjitha piket ndodhen nĂ« boshtet, atĂ«herĂ« nga çifti (x, y) njĂ«ra gjithmonĂ« Ă«shtĂ« e barabartĂ« me zero.
Megjithëse të gjitha 4 boshtet janë pozitive, disa të dhëna lëvizin artificialisht në gjysmën negative, sepse ndodhen në boshtet kryesore. x dhe y.

 0  1  0     1.21
 1  0  1.21  0   
 0 -1  0    -1.06
-1  0 -1.19  0   
 0  1  0     1.21 #Duplikat e pikës së parë

Rezultati
Gnuplot 5.0. Spiderplot me 4 akse vetë
Kodi i plotë

#!/usr/bin/gnuplot -persist
#фаĐčĐ» ĐČ ĐșĐŸĐŽĐžŃ€ĐŸĐČĐșĐ” cp1251 Ń‡Ń‚ĐŸĐ± руссĐșОД буĐșĐČы ĐŸŃ‚ĐŸĐ±Ń€Đ°Đ¶Đ°Đ»ĐžŃŃŒ ĐČ eps

set encoding cp1251
set terminal postscript eps enhanced monochrome size 5cm,5cm
set output "./img/eps/fig2.eps"

unset border
set key at -2, 1.5 font 'LiberationSerif, 23' 
set key left top samplen 4.5

set xzeroaxis
set yzeroaxis
set x2zeroaxis
set y2zeroaxis

max = 1.5
min = -max

set xtics  axis  0,.5,max in scale 0.5,0.25 mirror norotate  autojustify offset 0.35 font 'LiberationSerif, 20
set ytics  axis .5,.5,max in scale 0.5,0.25 mirror norotate  autojustify             font 'LiberationSerif, 20
set x2tics axis .5,.5,max in scale 0.5,0.25 mirror norotate  autojustify             font 'LiberationSerif, 20
set y2tics axis .5,.5,max in scale 0.5,0.25 mirror norotate  autojustify             font 'LiberationSerif, 20

set xrange  [ min : max ]
set yrange  [ min : max ]
set x2range [ max : min ]
set y2range [ max : min ]

set label "H_1" at  0,       max center offset char  2, 0   font 'LiberationSerif, 23'
set label "H_2" at  max+0.1, 0   center offset char -1, 1   font 'LiberationSerif, 23'
set label "H_3" at  0,       min center offset char -2, 0   font 'LiberationSerif, 23'
set label "H_4" at  min,     0   center offset char  0, 1   font 'LiberationSerif, 23'

set style line 1 linetype 1 pointtype 7 linewidth 3 linecolor black
set style line 2 linetype 2 pointtype 7 linewidth 3 linecolor black

plot 'data.csv' using  1:2 title "1" w lp ls 1 ,
     'data.csv' using  3:4 title "2" w lp ls 2

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster