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
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 (
Kuphatikiza apo, kusintha kwanga ndi malamulo kunapangitsa kuti:
0) Letsani
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
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.
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
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
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
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