Gnuplot 5.0. DIY Spiderplot dina 4 sumbu

Gnuplot 5.0. DIY Spiderplot dina 4 sumbu
Nalika ngerjakeun visualisasi data pikeun hiji artikel, janten kedah gaduh 4 sumbu kalayan labél anu positif sadayana.

Salaku kalawan grafik séjén dina artikel, abdi mutuskeun pikeun ngagunakeun gnuplot. Anu mimiti, kuring nempo dina ramatloka resmi, dimana aya loba conto. Abdi bagja pisan nalika mendakan anu leres conto (Kuring gé dianggo ku file saeutik tur bakal geulis, Teu sangka).
Gnuplot 5.0. DIY Spiderplot dina 4 sumbu
Kuring gancang nyalin kode jeung ngajalankeun eta. Kuring meunang kasalahan. Kuring figuring eta kaluar. Tétéla kuring boga gnuplot heubeul (Version 5.0 patchlevel 3 last modified 2016-02-21) sareng anjeunna henteu tiasa ngalakukeun éta.

Nyaho ngeunaan fleksibilitas gnuplot, kuring mimiti ngajalajah World Wide Web sareng mendakan sababaraha conto anu cocog dina stackoverflow (Sumbu-x ganda dina plot lancah sareng Gnuplot и Kumaha Jieun plot lancah di Gnuplot?) jeung github (gnuplot-radarchart). Aranjeunna janten titik awal.

Salajengna, manipulasi kuring sareng paréntah nyababkeun ieu:

0) Pareuman wates

unset border

1) Jieun 4 garis enol - 2 utama sareng 2 tambahan:

set xzeroaxis
set yzeroaxis
set x2zeroaxis
set y2zeroaxis

Sababaraha kecap ngeunaan nol garis dina dokuméntasi. Operasi ieu ngidinan Anjeun pikeun mawa sumbu ka tengah gambar. Sareng tambahan anu diperyogikeun pikeun nunjukkeun tanda positip dina aranjeunna.

2) Setel tampilan centang dina sumbu:

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            

Kalawan ticks dina sumbu aya setélan leuwih saeutik.
axis - dimana ticks bakal lokasina, dina sumbu atawa (wates - dina wates).
Pikeun sumbu x, nu mana ka katuhu 0,.5,max. Angka kahiji nyaéta mimiti mundur, anu kadua nyaéta léngkah, anu katilu nyaéta tungtung undur mundur. Pikeun kahiji ti 0, jeung sésana ti 0.5, ambéh nol henteu ngaganggu kana asal.

Gnuplot 5.0. DIY Spiderplot dina 4 sumbu
Gnuplot 5.0. DIY Spiderplot dina 4 sumbu

Pergaulan nol di puseur koordinat.
Kabéh interval *tics ngonpigurasi salaku 0,.5,max
Без offset 0.35 keur xtics

carana ngatur scale 0.5,0.25 mirror nambihan notches kana sumbu. Lamun maén kalawan angka, ukuran maranéhna bakal robah.
Kuring ogé ngasupkeun variabel max, min, kalayan bantuan anu kuring ngadalikeun wates-wates sumbu grafik.
Inpo tambahan ngeunaan setting ticks tiasa dipendakan dina dokuméntasi dina bagian éta Xtics.

3) Nyetél rentang sumbu:

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

Ieu kudu dicatet di dieu yén 2 sumbu mimitian ti min pikeun magnification na 2 sumbu - kalawan max pikeun ngurangan.
Émbaran tambahan dina bagian Xrange.

4) Pasihan nami sumbu sareng tempatna kalayan saé:

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) Ngawangun asupan data
Unggal grafik boga 2 kolom. Jumlah garis - angka sumbu, garis kalima pikeun nutup loop. Kolom ganjil - koordinat x, malah- y. Alatan kanyataan yén sakabéh titik anu lokasina dina sumbu, lajeng ti pasangan (x, y) hiji salawasna enol.
Sanaos sadayana 4 sumbu positip, sababaraha data sacara artifisial dipindahkeun ka satengah négatip sabab ayana dina sumbu utama. 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 #Дубликат первой точки

hasil
Gnuplot 5.0. DIY Spiderplot dina 4 sumbu
Kode lengkep

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

sumber: www.habr.com

Tambahkeun komentar