How to highlight regions of plot with gnuplot -
i'd appreciate if can question. working radar (or spiderweb) plot gnuplot 5.0.0:
the scale , range in axes same. numbers @ , beyond 1 have special meaning , highlight that.
i thinking of 3 things increase visibility:
simply make tick mark @ 1 (labelled "limit") boldfaced. how highlight specific tick , label?
i highlight circular dashed line @ level 1
on plot i'd have background colored differently radius > 1.
how can achieve either of 3 options above? 3 ideal of course, a minimum differentiation rest of value help.
this generated plot in link:
set term x11 set title "my title " set polar set angles degrees npoints = 6 a1 = 360/npoints*1 a2 = 360/npoints*2 a3 = 360/npoints*3 a4 = 360/npoints*4 a5 = 360/npoints*5 a6 = 360/npoints*6 set grid polar 360 set size square set style data lines unset border set grid ls 0 set linetype 1 lc rgb 'red' lw 2 pt 7 ps 2 m=2.2 set arrow 0,0 first m*cos(a1), m*sin(a1) set arrow 0,0 first m*cos(a2), m*sin(a2) set arrow 0,0 first m*cos(a3), m*sin(a3) set arrow 0,0 first m*cos(a4), m*sin(a4) set arrow 0,0 first m*cos(a5), m*sin(a5) set arrow 0,0 first m*cos(a6), m*sin(a6) a1_min = 0 a1_max = 1 a2_min = 0 a2_max = 1 a3_min = 0 a3_max = 1 a4_min = 0 a4_max = 1 a5_min = 0 a5_max = 1 a6_min = 0 a6_max = 1 set label "m1" @ m*cos(a1),m*sin(a1) center offset char 1,1 set label "m2" @ m*cos(a2),m*sin(a2) center offset char 1,1 set label "m3" @ m*cos(a3),m*sin(a3) center offset char 1,1 set label "m4" @ m*cos(a4),m*sin(a4) center offset char 1,1 set label "m5" @ m*cos(a5),m*sin(a5) center offset char 1,1 set label "m6" @ m*cos(a6),m*sin(a6) center offset char 1,1 set xrange [0:1] set yrange [0:1] set xtics axis 0,0.5,m unset ytics set rrange [0:m] set rtics (""0,""0.25,""0.5,""0.75,"limit"1,""1.25,""1.50,""1.75,""2) set rtics scale 0 format '' set style fill transparent solid 0.5 set style function filledcurves y1=0.5 set grid noxtics nomxtics noytics nomytics front plot '-' u ($1==1?a1:($1==2?a2:($1==3?a3:($1==4?a4:($1==5?a5:($1==6?a6:$1)))))):($1==1?(($2-a1_min)/(a1_max-a1_min)):($1==2?(($2-a2_min)/(a2_max-a2_min)):($1==3?(($2-a3_min)/(a3_max-a3_min)):($1==4?(($2-a4_min)/(a4_max-a4_min)):($1==5?(($2-a5_min)/(a5_max-a5_min)):($1==6?(($2-a6_min)/(a6_max-a6_min)):$1)))))) w filledcurve lt 1 title "aaa",\ '-' u ($1==1?a1:($1==2?a2:($1==3?a3:($1==4?a4:($1==5?a5:($1==6?a6:$1)))))):($1==1?(($2-a1_min)/(a1_max-a1_min)):($1==2?(($2-a2_min)/(a2_max-a2_min)):($1==3?(($2-a3_min)/(a3_max-a3_min)):($1==4?(($2-a4_min)/(a4_max-a4_min)):($1==5?(($2-a5_min)/(a5_max-a5_min)):($1==6?(($2-a6_min)/(a6_max-a6_min)):$1)))))) w filledcurve lt 2 title "bbb" 1 2.1 2 1 3 0.1 4 0.5 5 0.5 6 0.1 1 2.1 eof 1 2.2 2 0.9 3 0.9 4 0.2 5 0.3 6 0.1 1 2.2 eof set output
i've taken liberty streamline script bit, can adjust number of arms in web. added coloured background 1 >r > m.
btw., there no need enter first datapoint again @ end close contour. update: is, there shouldn't be. line between last , first point missing then, giving "closed" option "with filledcurve". wonder if bug.
set term wxt set title "my title " set polar set angles degrees set grid polar 360 set size square set style data lines set key top left unset border set grid ls 0 set linetype 1 lc rgb 'red' lw 2 pt 7 ps 2 m=2.2 npoints = 7 minima = "0 0 0 0 0 0 0" # adjust , add more necessary maxima = "1 1 1 1 1 1 1" a(n) = 360./npoints*n amin(n) = 0.0 + word(minima,int(n)) amax(n) = 0.0 + word(maxima,int(n)) [i=1:npoints] { set arrow 0,0 first m*cos(a(i)), m*sin(a(i)) set label sprintf("m%.f",i) @ m*cos(a(i)),m*sin(a(i)) \ center offset char 1,1 } set object 1 circle @ 0,0 size m fillc rgb "yellow" behind set object 2 circle @ 0,0 size 1 fillc rgb "white" behind set xrange [0:1] set yrange [0:1] set xtics axis 0,0.5,m unset ytics set rrange [0:m] set rtics (""0,""0.25,""0.5,""0.75,"{/:bold limit}"1,""1.25,""1.50,""1.75,""2) set rtics scale 0 format '' set style fill transparent solid 0.5 set style function filledcurves y1=0.5 set grid noxtics nomxtics noytics nomytics front plot '-' (a($1)):(($2-amin($1))/(amax($1)-amin($1))) \ w filledcurve closed lt 1 title "aaa",\ '-' (a($1)):(($2-amin($1))/(amax($1)-amin($1))) \ w filledcurve closed lt 2 title "bbb" 1 2.1 2 1 3 0.1 4 0.5 5 0.5 6 0.1 7 0.5 eof 1 2.2 2 0.9 3 0.9 4 0.2 5 0.3 6 0.1 7 1.8 eof
Comments
Post a Comment