Wakati wa kufanyia kazi taswira ya data kwa makala, ilihitajika kuwa na shoka 4 zenye lebo chanya kwa zote.
Kama ilivyo kwa grafu zingine kwenye kifungu, niliamua kutumia mjuzi. Kwanza kabisa, niliangalia tovuti rasmi, ambapo kuna mifano mingi. Nilifurahi sana nilipopata mwafaka
Nilinakili nambari hiyo haraka na kuiendesha. Ninapata hitilafu. Ninawaza. Ilibadilika kuwa nina gnuplot ya zamani (Version 5.0 patchlevel 3 last modified 2016-02-21
) na hawezi kufanya hivyo.
Kujua juu ya kubadilika kwa gnuplot, nilianza kuvinjari Mtandao Wote wa Ulimwenguni na nikapata mifano kadhaa inayofaa juu ya stackoverflow (
Zaidi ya hayo, udanganyifu wangu na amri ulisababisha yafuatayo:
0) Zima
unset border
1) Unda mistari 4 ya sifuri - 2 kuu na 2 ya ziada:
set xzeroaxis
set yzeroaxis
set x2zeroaxis
set y2zeroaxis
Maneno machache kuhusu mistari sifuri ndani
2) Sanidi onyesho la kupe kwenye shoka:
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
Kwa kupe kwenye axes kuna mipangilio zaidi kidogo.
axis
- ambapo ticks itakuwa iko, kwenye mhimili au (mpaka - kwenye mpaka).
Kwa mhimili x
, ambayo inakwenda kulia 0,.5,max
. Nambari ya kwanza ni mwanzo wa kuhesabu, ya pili ni hatua, ya tatu ni mwisho wa hesabu. Kwa wa kwanza kutoka 0
, na kwa wengine kutoka 0.5
, ili zero zisiingiliane na asili.
Kuchanganya zero kwenye kituo cha kuratibu.
Vipindi vyote *tics
imeundwa kama 0,.5,max
ΠΠ΅Π· offset 0.35
kwa xtics
marekebisho scale 0.5,0.25 mirror
inaongeza noti kwenye mhimili. Ikiwa unacheza na nambari, saizi yao itabadilika.
Mimi pia huingiza vigezo max, min
, kwa msaada ambao ninadhibiti mipaka ya axes ya grafu.
Maelezo ya ziada juu ya kuweka tiki yanaweza kupatikana katika nyaraka katika sehemu hiyo
3) Sanidi safu za mhimili:
set xrange [ min : max ]
set yrange [ min : max ]
set x2range [ max : min ]
set y2range [ max : min ]
Ikumbukwe hapa kwamba shoka 2 zinaanzia min
kwa ukuzaji na shoka 2 - na max
kupungua.
Maelezo ya ziada katika sehemu
4) Taja shoka majina na uziweke kwa uzuri:
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) Kuunda data ya pembejeo
Kila grafu ina safu wima 2. Nambari ya mstari - nambari ya mhimili, mstari wa tano ili kufunga kitanzi. Safu isiyo ya kawaida - kuratibu x
, hata - y
. Kutokana na ukweli kwamba pointi zote ziko kwenye shoka, kisha kutoka kwa jozi (x, y)
moja daima ni sifuri.
Ingawa shoka zote 4 ni chanya, baadhi ya data huhamishwa kiholela hadi nusu hasi kwa sababu iko kwenye shoka kuu. 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 #ΠΡΠ±Π»ΠΈΠΊΠ°Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠΎΡΠΊΠΈ
Matokeo
Msimbo kamili
#!/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
Chanzo: mapenzi.com