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
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 (
Salajengna, manipulasi kuring sareng paréntah nyababkeun ieu:
0) Pareuman
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
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.
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
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
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
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