#########################################################
# 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 |