Gnuplot 5.0. DIY Spiderplot pa 4 olamulira

Gnuplot 5.0. DIY Spiderplot pa 4 olamulira
Pogwira ntchito yowonera deta yankhani, zidakhala zofunikira kukhala ndi nkhwangwa 4 zokhala ndi zilembo zabwino zonse.

Mofanana ndi ma graph ena m'nkhaniyo, ndinaganiza zogwiritsa ntchito gnuplot. Choyamba, ndinayang'ana pa webusaiti yovomerezeka, komwe kuli zitsanzo zambiri. Ndinasangalala kwambiri nditapeza yoyenera chitsanzo (Ndigwira ntchito ndi fayilo pang'ono ndipo idzakhala yokongola, ndinaganiza).
Gnuplot 5.0. DIY Spiderplot pa 4 olamulira
Ndinakopera kachidindo mwamsanga n’kuiyendetsa. Ndapeza cholakwika. Ndikulingalira. Zinapezeka kuti ndili ndi gnuplot yakale (Version 5.0 patchlevel 3 last modified 2016-02-21) ndipo sangachite zimenezo.

Podziwa za kusinthasintha kwa gnuplot, ndinayamba kuyang'ana pa World Wide Web ndipo ndinapeza zitsanzo zingapo zoyenera pa stackoverflow (Ma x-axis awiri pa chiwembu cha kangaude chokhala ndi Gnuplot ΠΈ Momwe Mungapangire Spider Plot ku Gnuplot?) ndi github (gnuplot-radarchart). Iwo anakhala poyambira.

Kuphatikiza apo, kusintha kwanga ndi malamulo kunapangitsa kuti:

0) Letsani malire

unset border

1) Pangani mizere 4 ziro - 2 yayikulu ndi 2 yowonjezera:

set xzeroaxis
set yzeroaxis
set x2zeroaxis
set y2zeroaxis

Mawu ochepa onena za zero mizere mkati zolemba. Opaleshoniyi imakulolani kuti mubweretse nkhwangwa pakati pa chithunzicho. Ndipo zowonjezera zimafunikira kuti muwonetse nkhupakupa zabwino pa iwo.

2) Konzani chiwonetsero cha nkhupakupa pa nkhwangwa:

max = 1.5 # Для гибкости
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            

Ndi nkhupakupa pa nkhwangwa pali zosintha pang'ono.
axis - komwe nkhupakupa zidzapezeka, pa olamulira kapena (malire - pamalire).
Za axis x, yomwe imapita kumanja 0,.5,max. Nambala yoyamba ndi chiyambi cha kuwerengera, yachiwiri ndi sitepe, yachitatu ndi mapeto a kuwerengera. Kwa woyamba kuchokera 0, ndi kwa ena onse kuchokera 0.5, kuti ziro zisasokoneze chiyambi.

Gnuplot 5.0. DIY Spiderplot pa 4 olamulira
Gnuplot 5.0. DIY Spiderplot pa 4 olamulira

Kusakaniza ziro pa coordinate center.
Nthawi zonse *tics kukhazikitsidwa ngati 0,.5,max
Popanda offset 0.35 chifukwa xtics

kusintha scale 0.5,0.25 mirror amawonjezera notches ku axis. Ngati mumasewera ndi manambala, kukula kwake kudzasintha.
Ndikulowetsanso zosintha max, min, mothandizidwa ndi zomwe ndikuwongolera malire a ma ax a graph.
Zowonjezera pakukhazikitsa nkhupakupa zitha kupezeka muzolemba zomwe zili mugawoli Zithunzi za Xtics.

3) Kupanga ma axis ranges:

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

Tiyenera kuzindikira apa kuti nkhwangwa za 2 zimayambira min kwa makulitsidwe ndi 2 nkhwangwa - ndi max kuchepa.
Zowonjezera mu gawoli Xrange.

4) Perekani mayina a nkhwangwa ndikuyika bwino:

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) Kupanga deta yolowera
Grafu iliyonse ili ndi mizati iwiri. Nambala ya mzere - nambala ya axis, mzere wachisanu kuti mutseke kuzungulira. Mzere wosamvetseka - coordinate x, ngakhale - y. Chifukwa chakuti mfundo zonse zili pa nkhwangwa, ndiye kuchokera awiriwo (x, y) imodzi nthawi zonse imakhala ziro.
Ngakhale nkhwangwa zonse 4 zili zabwino, zina zimasunthidwa molakwika kupita ku theka loyipa chifukwa zili pa nkhwangwa zazikulu. x ΠΈ 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 #Π”ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ

chifukwa
Gnuplot 5.0. DIY Spiderplot pa 4 olamulira
Full kodi

#!/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

Source: www.habr.com

Kuwonjezera ndemanga