
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 (nuk do të punoj shumë dhe do të duket bukur, mendoja).

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 ( dhe ) dhe github (). Ato u bënë pika fillestare.
Më pas, manipulimet e mia me komandat çuan në këtë:
0) ĂaktivizojmĂ«
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ë . 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.


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 .
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 .
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

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
