######################################################### # Fig.5: parameters for specifying an annular sector ######################################################### # set title 'A single annular sector in plot style "with sectors"' set polar set angles degree set theta top cw set xrange [-3:10] set yrange [-3:10] set size ratio -1 unset border unset raxis unset tics unset key array data[1] set arrow 1 from 6,0 to 9,0 set arrow 1 heads size screen 0.015, 30, 90 filled front lw 1 lc rgb "gray30" plot \ data using (-30):(6):(300):(3) with sectors lc rgb "gray80" lw 1,\ data using (20):(0):(50):(6) with sectors lc rgb "gray80" lw 1,\ data using (20):(6):(50):(3) with sectors lc rgb "gray30" lw 2 fill solid 0.5 border,\ data using (20):(0):(50):(1) with sectors lc rgb "gray30" lw 1,\ data using (20):(6) with points pt 7 ps 2 lc rgb "gray30", \ data using (0):(0) with points pt 7 ps 2 lc rgb "gray30", \ data using (0):(0):("(center_x, center_y)") with labels offset 0,-1 noenhanced, \ data using (0):(0):("sector_angle") with labels offset 7,4.2 noenhanced rotate by 45, \ data using (90):(7.5):("annulus_width") with labels offset 0,1.5 noenhanced, \ data using (20):(6):("(corner_azimuth, corner_radius)") with labels offset -10,-1.5 noenhanced |
######################################################### # Fig.2: polar heatmap positioned in cartesian coordinate # system. Note that the two halves of the plot # displaced by shifting the center to x = +/- 0.5. ######################################################### # reset set title "Polar heatmap composed of sectors\n"\ ."positioned on a cartesian x/y plane" rmax = 10 dr = 0.5 tmax = 180 dt = 10 f(t,r) = r*cos(t+20*r)**2 set angle degrees set theta top cw set xrange [-(rmax+2):(rmax+2)] set yrange [-(rmax+2):(rmax+2)] set size ratio -1 unset border unset tics unset key set palette viridis set colorbox user size 0.05, 0.5 origin 0.85,0.25 set cbtics set table $data set view map splot sample [t=0:tmax-dt:dt] [r=0:rmax-dr:dr] "++" using (t):(r):(0) unset table plot $data using 1:2:(dt):(dr):(0.5):(0):(f($1+dt/2,$2+dr/2)) with sectors fc palette fill solid, \ $data using (-$1):2:(-dt):(dr):(-0.5):(0):(f($1+dt/2,$2+dr/2)) with sectors fc palette fill solid |
############################################ # Yes/No survey results aggregated by groups # Illustrates multiple sector plots in polar # coordinate mode for the overall graph. ############################################ # reset set label 1 at screen 0.1, 0.9 set label 1 "Multiple sector plots\npositioned on a polar graph" set lmargin at screen 0.3 $data <<EOD # Group Yes No A 12 8 4 B 20 14 6 C 25 18 7 D 21 8 13 E 10 2 8 EOD stats $data using 2 nooutput fac = 360.0/STATS_sum set table $data2 plot r=0 $data using (sprintf("%s",strcol(1))):2:3:4:(r):(dr=$2*fac,r=r+dr,dr) with table unset table # print $data2 set polar set angle degrees set theta top cw set xrange [-18:18] set yrange [-18:18] set size ratio -1 unset border unset tics unset raxis unset key set label 2 sprintf("TOTAL\n%d",STATS_sum) at 0,0 center offset 0,0.5 plot \ $data2 using 5:(3):6:(4) with sectors fc rgb 'blue' lw 2 fill solid 0.2 border lc bgnd, \ $data2 using 5:(7):6:(8) with sectors fc rgb 'blue' lw 2 fill solid 0.2 border lc bgnd, \ $data2 using 5:(15):6:(3) with sectors fc rgb 'blue' lw 2 fill solid 0.2 border lc bgnd, \ $data2 using ($5+$6/2):(16.5):(strcol(1)) with labels center font ",9", \ $data2 using ($5+$6/2):(5):(sprintf("%.0f%%",100*$2/STATS_sum)) with labels center font ",9", \ $data2 using ($5+$6/2):(11.1):(sprintf("%.0f%%",100*$3/$2)) with labels center font ",9", \ $data2 using (0):(1.7):(361):(1.3):($5+$6/2):(11) with sectors fill solid 0.1 noborder fc bgnd, \ $data2 using (0):(1.7):($3/$2*360):(1.3):($5+$6/2):(11) with sectors fill solid 0.4 noborder fc rgb "red" |
######################################################### # Fig.3: pie (donut) chart ######################################################### # reset set title "Pie (donut) chart drawn with sectors" $data <<EOD 1 100 0 2 70 1 3 60 0 4 50 0 5 40 1 6 30 0 7 10 0 EOD stats $data using 2 nooutput fac = 360.0/STATS_sum set table $data2 plot r=0 $data using 1:2:3:(r):(dr=$2*fac,r=r+dr,dr) with table unset table set polar set angles degree set theta top cw set xrange [-10:10] set yrange [-10:10] set size ratio -1 unset border unset raxis unset tics unset key plot $data2 using 4:(4):5:(3):($0+1) with sectors lc variable lw 3 fill solid border lc bgnd, \ $data2 using ($4+$5/2):(8+0.7*$3):(sprintf("%.1f",$2)) with labels |
set title "Pie (donut) chart some slices have radial shift" plot $data2 using 4:(4+0.7*$3):5:(3):($0+1) with sectors lc variable lw 3 fill solid border lc bgnd, \ $data2 using ($4+$5/2):(8+0.7*$3):(sprintf("%.1f",$2)) with labels |
set title "Pie (donut) chart some slices have offset origin" plot $data2 using 4:(4):5:(3):($4+$5/2):(0.7*$3):($0+1) with sectors lc variable lw 3 fill solid border lc bgnd, \ $data2 using ($4+$5/2):(8+0.7*$3):(sprintf("%.1f",$2)) with labels |
######################################################### # Fig.4: dial charts ######################################################### # reset set title "Dial charts drawn with sectors" $data <<EOD -5 5 50 5 5 30 -5 -5 80 5 -5 60 EOD set angle degrees set theta left cw set xrange [-10:10] set yrange [-8:12] unset border unset tics unset key plot $data using (0):(1.5):(180):(2):1:2 with sectors units xx fc rgb 'gray' fill solid 1,\ $data using (0):(1.5):($3/100*180):(2):1:2 with sectors units xx fc rgb 'blue' fill solid 1, \ $data using 1:2:(strcol(3)) with labels offset 0,0.5 |
######################################################### # Fig.6: 'units' option ######################################################### # reset set angles degree set theta top cw set xrange [0:10] set yrange [0:10] unset key array data[1] set size 0.5, 0.5 set multiplot layout 2,2 set size noratio plot \ data using (20):(6):(50):(3) with sectors lc rgb "gray30" lw 2 fill solid 0.5 border, \ data using (20):(6):(360):(3) with sectors lc rgb "gray30" lw 1, \ data using (0.5):(2):("noratio\nunits xy") with labels left set size ratio -1 plot \ data using (20):(6):(50):(3) with sectors lc rgb "gray30" lw 2 fill solid 0.5 border, \ data using (20):(6):(360):(3) with sectors lc rgb "gray30" lw 1, \ data using (0.5):(2):("ratio -1\nunits xy") with labels left set size noratio plot \ data using (20):(6):(50):(3) with sectors units xx lc rgb "gray30" lw 2 fill solid 0.5 border, \ data using (20):(6):(360):(3) with sectors units xx lc rgb "gray30" lw 1, \ data using (0.5):(2):("noratio\nunits xx") with labels left set size noratio plot \ data using (20):(6):(50):(3) with sectors units yy lc rgb "gray30" lw 2 fill solid 0.5 border, \ data using (20):(6):(360):(3) with sectors units yy lc rgb "gray30" lw 1, \ data using (0.5):(2):("noratio\nunits yy") with labels left unset multiplot |
######################################################### # Fig.9 hue Circle (HSV model) ######################################################### # reset set polar set angle degrees set theta top cw set size ratio -1 unset border unset raxis unset tics unset key unset colorbox set xrange [-5:5] set yrange [-5:5] set cbrange [0:360] da = 15 plot sample [t=0:360:da] \ "+" using ($1-da/2.0):(2):(da):(2):(hsv2rgb($1/360,1,0.7)) with sectors \ fc rgb variable fill solid 1 border lc bgnd lw 2, \ [t=0:360-da:da] "+" using ($1):(4.5):(sprintf("%i",$1)) with labels |
######################################################### # Fig.10 Wind rose (histgram on polar axis) ######################################################### # reset set title "Wind rose (polar coordinate histogram using sectors)" $data <<EOD # DIRECTION INDEX COUNT N 1 10 NNE 2 15 NE 3 21 ENE 4 24 E 5 19 ESE 6 12 SE 7 8 SSE 8 4 S 9 2 SSW 10 4 SW 11 7 WSW 12 10 W 13 11 WNW 14 9 NW 15 5 NNW 16 7 EOD stats $data using 2:3 nooutput set polar set angle degrees set theta top cw set xrange [-0.2:0.2] set yrange [-0.2:0.2] set size ratio -1 unset border unset key unset raxis unset tics array dummy[1] plot $data using (22.5*($2-1-0.5)):(0.01):(22.5):($3/STATS_sum_y) with sectors \ fc rgb "blue" fill solid 0.5 border lc bgnd, \ for [k=0:15:5] dummy using (0):(0.01):(361):(k/100.0) with sectors lc rgb "gray30" lw 0.5 dt ".",\ for [k=0:15:5] dummy using (0):(0.01+k/100.0):(sprintf("%d%%",k)) with labels offset 0,0.5 tc rgb "gray30" |
######################################################### # Fig.11 Scanning overwraps ######################################################### # reset $data <<EOD # x y angle_min angle_max range_min range_max -3 0 -20 60 2 6 3 0 -60 20 4 7 -3 9 80 220 4 7 EOD set angles degree set theta top cw set xrange [-8:8] set yrange [-4:12] set size ratio -1 unset border unset key unset tics plot $data using 3:(0):($4-$3):5:1:2:($0+1) with sectors lc variable lw 1 dt 3, \ $data using 1:2:($0+1) with points ps 3 pt 7 lc variable, \ $data using 3:5:($4-$3):($6-$5):1:2:($0+1) with sectors lc variable lw 3 fill transparent solid 0.3 |
######################################################### # Fig.12 Pie charts (3 choices questionnaire) ######################################################### # reset $data <<EOD # Question_NUM YES NO N/A 1 75 20 5 2 45 45 10 3 90 10 0 4 30 50 20 5 50 45 5 6 45 55 0 EOD xpos(k) = 2*(int($0)%3) ypos(k) = -2*(int($0)/3) set angle degrees set theta top cw set xrange [-1:6] set yrange [-3:1] set size ratio -1 unset border unset tics set key noautotitle left Left reverse at graph 0.85, graph 0.80 plot $data using (0):(0.2):($2/100*360):(0.6):(xpos($0)):(ypos($0)) with sectors fill solid 0.5 noborder fc rgb "red" , \ $data using ($2/100*360):(0.2):($4/100*360):(0.6):(xpos($0)):(ypos($0)) with sectors fill solid noborder fc rgb "gray", \ $data using (0):(0.2):(-$3/100*360):(0.6):(xpos($0)):(ypos($0)) with sectors fill solid 0.5 noborder fc rgb "blue", \ $data using (xpos($0)):(ypos($0)):(sprintf("Q.%d",$1)) with labels, \ keyentry with boxes fill solid 0.5 noborder fc rgb "red" title "YES", \ keyentry with boxes fill solid noborder fc rgb "gray" title "N/A", \ keyentry with boxes fill solid 0.5 noborder fc rgb "blue" title "NO" |
######################################################### # Fig.13 Circular discrete gauge ######################################################### # reset set angles degrees set theta top cw set xrange [-8:8] set yrange [-8:8] set size ratio -1 unset border unset tics unset key set style fill solid border lc rgb "gray" plot sample [t=0:350:15] "+" using (t-5):(4):(10):(2) with sectors fc rgb "gray90" fill border lc black lw 2, \ [t=0:220:15] "+" using (t-5):(4):(10):(2) with sectors fc rgb "orange" fill border lc black lw 2 |
######################################################### # Fig.14 Polar points with radial error ######################################################### # reset set title "Polar coordinate points with both radial and angular error\n" \ . "represented by sectors" set polar set angles degree set theta top cw unset border unset raxis unset tics unset key set xrange [-15:15] set yrange [-15:15] set size ratio -1 $data4 <<EOD 2 0.8 3 1.1 8 2.5 5 1.8 2 0.7 2 0.8 5 1.9 6 2.3 9 3.1 7 2.8 5 2.1 3 1.2 EOD array dummy[1] set style fill transparent solid 0.1 border set grid polar lt 1 lc "gray60" lw 1.0 dt "-" set rtics ("0" 3, "5" 8, "10" 13) left offset 0, 0.25 plot \ dummy using (0):(0):(361):(3) with sectors fs solid bo lc "black" fc bgnd, \ $data4 using (30*$0-15):(3+$1-$2/2.0):(30):($2) with sectors lt 6, \ $data4 using (30*$0):(3):(0):($1) with vectors nohead lt 6 lw 1, \ $data4 using (30*$0):(3+$1) with points pt 7 ps 1 lt 6 |
reset |