Ҳангоми кор оид ба визуализатсияи маълумот барои мақола, лозим омад, ки 4 меҳвар бо нишони мусбат дар ҳама.
Мисли дигар графикҳои мақола, ман қарор додам, ки истифода барам гнуплот. Пеш аз ҳама, ман ба вебсайти расмӣ назар кардам, ки дар он мисолҳои зиёде мавҷуданд. Вақте ки ман дурустро ёфтам, хеле шод шудам
Ман зуд кодро нусхабардорӣ кардам ва онро иҷро кардам. Ман хато мегирам. Ман инро фаҳмида истодаам. Маълум шуд, ки ман як gnuplot кӯҳна дорам (Version 5.0 patchlevel 3 last modified 2016-02-21
) ва ӯ ин корро карда наметавонад.
Дар бораи чандирии gnuplot донистани ман, ман ба кофтукови шабакаи ҷаҳонии Интернет шурӯъ кардам ва якчанд мисолҳои мувофиқро дар stackoverflow пайдо кардам (
Ғайр аз он, манипулятсияҳои ман бо фармонҳо ба ин оварда расонд:
0) Хомӯш кардан
unset border
1) Эҷоди 4 хати сифр - 2 асосӣ ва 2 иловагӣ:
set xzeroaxis
set yzeroaxis
set x2zeroaxis
set y2zeroaxis
Якчанд сухан дар бораи хатҳои сифр дар
2) Намоиши аломатҳоро дар меҳварҳо насб кунед:
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
Бо ишораҳо дар меҳварҳо танзимоти каме бештар вуҷуд доранд.
axis
- дар он ҷое, ки канаҳо ҷойгир мешаванд, дар меҳвар ё (сарҳад - дар сарҳад).
Барои меҳвар x
, ки ба тарафи рост меравад 0,.5,max
. Рақами аввал оғози ақибшумор, дуюм қадам, сеюм - охири ҳисоб. Барои аввалин аз 0
, ва барои дигарон аз 0.5
, то ки сифрҳо ба пайдоиш халал нарасонанд.
Омезиши сифрҳо дар маркази координата.
Ҳама фосилаҳо *tics
ҳамчун танзим карда шудааст 0,.5,max
Бе он offset 0.35
барои xtics
танзим scale 0.5,0.25 mirror
ба меҳвар чоҳҳо илова мекунад. Агар шумо бо рақамҳо бозӣ кунед, андозаи онҳо тағир меёбад.
Ман инчунин тағирёбандаҳоро ворид мекунам max, min
, ки бо ёрии он сархадхои мехвархои графикро идора мекунам.
Маълумоти иловагиро дар бораи танзими аломатҳо дар ҳуҷҷатҳо дар қисмат пайдо кардан мумкин аст
3) Диапазони меҳварҳоро танзим кунед:
set xrange [ min : max ]
set yrange [ min : max ]
set x2range [ max : min ]
set y2range [ max : min ]
Бояд қайд кард, ки 2 меҳвар аз он оғоз меёбад min
барои калон кардан ва 2 меҳвар - бо max
кам кардан.
Маълумоти иловагӣ дар бахш
4) Номҳои меҳварҳоро диҳед ва онҳоро зебо ҷойгир кунед:
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) Ташаккул додани маълумоти воридотӣ
Ҳар як график 2 сутун дорад. Рақами сатр - рақами меҳвар, хати панҷум барои пӯшидани ҳалқа. Сутуни тоқ - координат x
, ҳатто - y
. Аз сабаби он, ки ҳамаи нуқтаҳо дар меҳварҳо ҷойгиранд, пас аз ҷуфт (x, y)
як ҳамеша сифр аст.
Гарчанде ки ҳамаи 4 меҳвар мусбатанд, баъзе маълумотҳо ба таври сунъӣ ба нимаи манфӣ интиқол дода мешаванд, зеро онҳо дар меҳварҳои асосӣ ҷойгиранд 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 #Дубликат первой точки
Дар натиҷа
Рамзи пурра
#!/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
Манбаъ: will.com