جڏهن هڪ مضمون لاء ڊيٽا بصري تي ڪم ڪري رهيو آهي، اهو ضروري آهي ته 4 محور سڀني تي مثبت ليبل سان گڏ هجن.
جيئن آرٽيڪل ۾ ٻين گرافس سان، مون استعمال ڪرڻ جو فيصلو ڪيو اينپلٽ. سڀ کان پهريان، مون سرڪاري ويب سائيٽ تي ڏٺو، جتي ڪيترائي مثال آهن. مون کي ڏاڍي خوشي ٿي جڏهن مون کي صحيح مليو
مون جلدي ڪوڊ کي نقل ڪيو ۽ ان کي هلائي ڇڏيو. مون کي هڪ غلطي ملي. مان ان کي ڪڍي رهيو آهيان. اهو ظاهر ٿيو ته مون وٽ هڪ پراڻو gnuplot (Version 5.0 patchlevel 3 last modified 2016-02-21
) ۽ هو اهو نٿو ڪري سگهي.
gnuplot (
وڌيڪ، حڪمن سان منهنجي ٺاهه هيٺ ڏنل سببن جي ڪري:
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
adjustment 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
جو ذريعو: www.habr.com