Gnuplot 5.0. DIY Spiderplot дар 4 меҳвар

Gnuplot 5.0. DIY Spiderplot дар 4 меҳвар
Ҳангоми кор оид ба визуализатсияи маълумот барои мақола, лозим омад, ки 4 меҳвар бо нишони мусбат дар ҳама.

Мисли дигар графикҳои мақола, ман қарор додам, ки истифода барам гнуплот. Пеш аз ҳама, ман ба вебсайти расмӣ назар кардам, ки дар он мисолҳои зиёде мавҷуданд. Вақте ки ман дурустро ёфтам, хеле шод шудам намуна (Ман каме бо файл кор мекунам ва он зебо мешавад, ман фикр кардам).
Gnuplot 5.0. DIY Spiderplot дар 4 меҳвар
Ман зуд кодро нусхабардорӣ кардам ва онро иҷро кардам. Ман хато мегирам. Ман инро фаҳмида истодаам. Маълум шуд, ки ман як gnuplot кӯҳна дорам (Version 5.0 patchlevel 3 last modified 2016-02-21) ва ӯ ин корро карда наметавонад.

Дар бораи чандирии gnuplot донистани ман, ман ба кофтукови шабакаи ҷаҳонии Интернет шурӯъ кардам ва якчанд мисолҳои мувофиқро дар stackoverflow пайдо кардам (Дучандон меҳвари x дар қитъаи тортанак бо Gnuplot и Дар Gnuplot як қитъаи тортанакро чӣ гуна бояд эҷод кард?) ва github (gnuplot-радарчат). Онҳо нуқтаи ибтидоӣ гардиданд.

Ғайр аз он, манипулятсияҳои ман бо фармонҳо ба ин оварда расонд:

0) Хомӯш кардан марзҳо

unset border

1) Эҷоди 4 хати сифр - 2 асосӣ ва 2 иловагӣ:

set xzeroaxis
set yzeroaxis
set x2zeroaxis
set y2zeroaxis

Якчанд сухан дар бораи хатҳои сифр дар хуччатхо. Ин амалиёт ба шумо имкон медиҳад, ки меҳварҳоро ба маркази тасвир кашед. Ва барои нишон додани аломатҳои мусбӣ дар онҳо шахсони иловагӣ лозиманд.

2) Намоиши аломатҳоро дар меҳварҳо насб кунед:

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            

Бо ишораҳо дар меҳварҳо танзимоти каме бештар вуҷуд доранд.
axis - дар он ҷое, ки канаҳо ҷойгир мешаванд, дар меҳвар ё (сарҳад - дар сарҳад).
Барои меҳвар x, ки ба тарафи рост меравад 0,.5,max. Рақами аввал оғози ақибшумор, дуюм қадам, сеюм - охири ҳисоб. Барои аввалин аз 0, ва барои дигарон аз 0.5, то ки сифрҳо ба пайдоиш халал нарасонанд.

Gnuplot 5.0. DIY Spiderplot дар 4 меҳвар
Gnuplot 5.0. DIY Spiderplot дар 4 меҳвар

Омезиши сифрҳо дар маркази координата.
Ҳама фосилаҳо *tics ҳамчун танзим карда шудааст 0,.5,max
Бе он offset 0.35 барои xtics

танзим scale 0.5,0.25 mirror ба меҳвар чоҳҳо илова мекунад. Агар шумо бо рақамҳо бозӣ кунед, андозаи онҳо тағир меёбад.
Ман инчунин тағирёбандаҳоро ворид мекунам max, min, ки бо ёрии он сархадхои мехвархои графикро идора мекунам.
Маълумоти иловагиро дар бораи танзими аломатҳо дар ҳуҷҷатҳо дар қисмат пайдо кардан мумкин аст Xtics.

3) Диапазони меҳварҳоро танзим кунед:

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

Бояд қайд кард, ки 2 меҳвар аз он оғоз меёбад min барои калон кардан ва 2 меҳвар - бо max кам кардан.
Маълумоти иловагӣ дар бахш Xrange.

4) Номҳои меҳварҳоро диҳед ва онҳоро зебо ҷойгир кунед:

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) Ташаккул додани маълумоти воридотӣ
Ҳар як график 2 сутун дорад. Рақами сатр - рақами меҳвар, хати панҷум барои пӯшидани ҳалқа. Сутуни тоқ - координат x, ҳатто - y. Аз сабаби он, ки ҳамаи нуқтаҳо дар меҳварҳо ҷойгиранд, пас аз ҷуфт (x, y) як ҳамеша сифр аст.
Гарчанде ки ҳамаи 4 меҳвар мусбатанд, баъзе маълумотҳо ба таври сунъӣ ба нимаи манфӣ интиқол дода мешаванд, зеро онҳо дар меҳварҳои асосӣ ҷойгиранд 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 #Дубликат первой точки

Дар натиҷа
Gnuplot 5.0. DIY Spiderplot дар 4 меҳвар
Рамзи пурра

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

Манбаъ: will.com

Илова Эзоҳ