ලිපියක් සඳහා දත්ත දෘශ්යකරණය මත වැඩ කරන විට, සියල්ලටම ධනාත්මක ලේබල් සහිත අක්ෂ 4ක් තිබීම අවශ්ය විය.
ලිපියේ අනෙකුත් ප්රස්ථාර මෙන්, මම භාවිතා කිරීමට තීරණය කළෙමි gnuplot. පළමුවෙන්ම, මම බොහෝ උදාහරණ ඇති නිල වෙබ් අඩවිය දෙස බැලුවෙමි. හරි එක හොයාගත්තම ගොඩක් සතුටුයි
මම ඉක්මනින් කේතය පිටපත් කර එය ධාවනය කළෙමි. මට දෝෂයක් ලැබෙනවා. මම එය හදුනා ගනිමින් සිටිමි. මට පැරණි 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
අක්ෂයට සටහන් එකතු කරයි. ඔබ ඉලක්කම් සමඟ සෙල්ලම් කරන්නේ නම්, ඒවායේ ප්රමාණය වෙනස් වනු ඇත.
මමත් variables ඇතුලත් කරනවා 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