Gnuplot 5.0ред DIY 4-рдЕрдХреНрд╖ рд╕реНрдкрд╛рдЗрдбрд░рдкреНрд▓реЙрдЯ

рдЫрд╡рд┐
рдПрдХ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рд╕рднреА рдкрд░ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде 4 рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХрд╛ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЧрдпрд╛ред


рдЕрдиреНрдп рд▓реЗрдЦ рдЪрд╛рд░реНрдЯ рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ gnuplot рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рджреЗрдЦрд╛, рдЬрд╣рд╛рдВ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдореБрдЭреЗ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реБрдИ рдЬрдм рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓рд╛ (рдореИрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХрд╛рдо рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдпрд╣ рд╕реБрдВрджрд░ рд╣реЛрдЧрд╛, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛)ред
рдЫрд╡рд┐
рдЬрд▓реНрджреА рд╕реЗ рдХреЛрдб рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ, рдЗрд╕реЗ рдЪрд▓рд╛рдПрдБред рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред рдореИ рд╕рдордЭрддрд╛ рд╣реБрдБред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкреБрд░рд╛рдирд╛ gnuplot ( Version 5.0 patchlevel 3 last modified 2016-02-21) рд╣реИ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреИрд╕реЗред

Gnuplot рдХреЗ рд▓рдЪреАрд▓реЗрдкрди рдХреЛ рдЬрд╛рдирдиреЗ рдХрд╛, рд╡рд╣ рд╡рд░реНрд▓реНрдб рд╡рд╛рдЗрдб рд╡реЗрдм рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЪрдкреНрдкрд╛ рдЪрдкреНрдкрд╛ рдЫрд╛рди рдорд╛рд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ stackoverflow рдкрд░ рдХрдИ рдЙрдкрдпреБрдХреНрдд рдЙрджрд╛рд╣рд░рдг рднрд░ рдореЗрдВ рдЖрдпрд╛ рдерд╛ ( рдбрдмрд▓ x рдЕрдХреНрд╖ gnuplot рдХреЗ рд╕рд╛рде рдПрдХ рдордХрдбрд╝реА рднреВрдЦрдВрдб рдкрд░ рдФрд░ рдХреИрд╕реЗ gnuplot? рдореЗрдВ рдПрдХ рдордХрдбрд╝реА рдкреНрд▓реЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП ) рдФрд░ GitHub ( gnuplot-radarchart )ред рд╡реЗ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдмрди рдЧрдПред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдХрд╛рд░рдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдереЗ:

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рджреЗрддрд╛ рд╣реВрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдореИрдВ рдЧреНрд░рд╛рдл рдЕрдХреНрд╖реЛрдВ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред
рдЯрд┐рдХреНрд╕ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, Xtics рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рджреЗрдЦреЗрдВ ред

3) рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдкрд░реНрд╡рддрдорд╛рд▓рд╛:
set xrange  [ min : max ] 
set yrange  [ min : max ]
set x2range [ max : min ]
set y2range [ max : min ]

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ 2 рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреА рдЧрд┐рдирддреА minрдмрдврд╝рдиреЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдФрд░ 2 рдХреБрд▓реНрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ maxрдШрдЯрдиреЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП Xrange рд╕реЗрдХреНрд╢рди рджреЗрдЦреЗрдВ ред

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


All Articles