gnuplot 5.0. 4 oxda hörümçək plotu bunu özünüz edin

gnuplot 5.0. 4 oxda hörümçək plotu bunu özünüz edin
Bir məqalə üçün məlumatların vizuallaşdırılması üzərində işləyərkən, hamısında müsbət etiketləri olan 4 oxun olması zəruri oldu.

Məqalədəki digər qrafiklərdə olduğu kimi, mən də istifadə etməyə qərar verdim gnuplot. İlk öncə rəsmi internet saytına baxdım, orada çoxlu nümunələr var. Doğru olanı tapanda çox sevindim misal (Bir az faylla işləyəcəm və gözəl olacaq, düşündüm).
gnuplot 5.0. 4 oxda hörümçək plotu bunu özünüz edin
Tez kodu kopyaladım və işə saldım. Mən səhv alıram. Mən başa düşürəm. Məlum oldu ki, mənim köhnə gnuplotum var (Version 5.0 patchlevel 3 last modified 2016-02-21) və o bunu edə bilməz.

Gnuplotun çevikliyini bildiyim üçün mən Ümumdünya Şəbəkəsini araşdırmağa başladım və stackoverflow-da bir neçə uyğun nümunə ilə rastlaşdım (Gnuplot ilə hörümçək süjetində ikiqat x oxu и Gnuplot-da hörümçək süjetini necə yaratmaq olar?) və github (gnuplot-radar diaqramı). Onlar başlanğıc nöqtəsi oldular.

Bundan əlavə, əmrlərlə etdiyim manipulyasiyalar aşağıdakılara səbəb oldu:

0) Deaktiv edin sərhədləri

unset border

1) 4 sıfır sətir yaradın - 2 əsas və 2 əlavə:

set xzeroaxis
set yzeroaxis
set x2zeroaxis
set y2zeroaxis

Sıfır sətirlər haqqında bir neçə kəlmə sənədləşdirmə. Bu əməliyyat baltaları şəklin mərkəzinə gətirməyə imkan verir. Onlarda müsbət gənələr göstərmək üçün əlavələr lazımdır.

2) Baltalarda gənələrin göstərilməsini qurun:

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            

Baltalardakı gənələrlə bir az daha çox parametrlər var.
axis - gənələrin yerləşəcəyi yer, oxda və ya (sərhəddə - sərhəddə).
Ox üçün x, sağa doğru gedir 0,.5,max. Birinci rəqəm geri sayımın başlanğıcıdır, ikincisi addımdır, üçüncüsü geri sayımın sonudur. İlk üçün 0, qalanları üçün isə 0.5, sıfırların mənşəyə mane olmaması üçün.

gnuplot 5.0. 4 oxda hörümçək plotu bunu özünüz edin
gnuplot 5.0. 4 oxda hörümçək plotu bunu özünüz edin

Koordinat mərkəzində sıfırların qarışdırılması.
Bütün intervallar *tics kimi konfiqurasiya edilmişdir 0,.5,max
Olmadan offset 0.35 uğrunda xtics

nizamlama scale 0.5,0.25 mirror oxa çentiklər əlavə edir. Rəqəmlərlə oynasanız, onların ölçüsü dəyişəcək.
Mən də dəyişənləri daxil edirəm max, min, onun köməyi ilə qrafik oxlarının sərhədlərini idarə edirəm.
Gənələrin qoyulması ilə bağlı əlavə məlumatı bölmədəki sənədlərdə tapa bilərsiniz Xtics.

3) Ox diapazonlarını qurun:

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

Burada qeyd etmək lazımdır ki, 2 oxdan başlayır min böyütmə və 2 ox üçün - ilə max azaltmaq.
Bölmədə əlavə məlumat Xrange.

4) Baltaların adlarını verin və onları gözəl yerləşdirin:

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) Daxil olan məlumatların formalaşdırılması
Hər bir qrafikdə 2 sütun var. Sətir nömrəsi - ox nömrəsi, döngəni bağlamaq üçün beşinci sətir. Tək sütun - koordinat x, hətta - y. Bütün nöqtələrin baltalarda, sonra cütdən yerləşdiyinə görə (x, y) biri həmişə sıfırdır.
Bütün 4 oxun müsbət olmasına baxmayaraq, bəzi məlumatlar əsas oxlarda yerləşdiyi üçün süni şəkildə mənfi yarıya köçürülür. 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 #Дубликат первой точки

Nəticə
gnuplot 5.0. 4 oxda hörümçək plotu bunu özünüz edin
Tam kod

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

Mənbə: www.habr.com

Добавить комментарий