Allow custom radial ticks for GR. Fix polar ylims for non-zero ymin values in GR.

This commit is contained in:
Andrew Palugniok 2017-11-05 10:37:51 +00:00
parent cc43202e8f
commit 08a6f3af36

View File

@ -214,8 +214,7 @@ function gr_polaraxes(rmin::Real, rmax::Real, sp::Subplot)
a = α .+ 90 a = α .+ 90
sinf = sind.(a) sinf = sind.(a)
cosf = cosd.(a) cosf = cosd.(a)
tick = 0.5 * GR.tick(rmin, rmax) rtick_values, rtick_labels = get_ticks(yaxis)
n = round(Int, (rmax - rmin) / tick + 0.5)
#draw angular grid #draw angular grid
if xaxis[:grid] if xaxis[:grid]
@ -230,9 +229,9 @@ function gr_polaraxes(rmin::Real, rmax::Real, sp::Subplot)
if yaxis[:grid] if yaxis[:grid]
gr_set_line(yaxis[:gridlinewidth], yaxis[:gridstyle], yaxis[:foreground_color_grid]) gr_set_line(yaxis[:gridlinewidth], yaxis[:gridstyle], yaxis[:foreground_color_grid])
GR.settransparency(yaxis[:gridalpha]) GR.settransparency(yaxis[:gridalpha])
for i in 0:n for i in 1:length(rtick_values)
r = float(i) * tick / rmax r = (rtick_values[i] - rmin) / (rmax - rmin)
if r <= 1.0 if r <= 1.0 && r >= 0.0
GR.drawarc(-r, r, -r, r, 0, 359) GR.drawarc(-r, r, -r, r, 0, 359)
end end
end end
@ -255,11 +254,11 @@ function gr_polaraxes(rmin::Real, rmax::Real, sp::Subplot)
#draw radial ticks #draw radial ticks
if yaxis[:showaxis] if yaxis[:showaxis]
for i in 0:n for i in 1:length(rtick_values)
r = float(i) * tick / rmax r = (rtick_values[i] - rmin) / (rmax - rmin)
if i % 2 == 0 && r <= 1.0 if r <= 1.0 && r >= 0.0
x, y = GR.wctondc(0.05, r) x, y = GR.wctondc(0.05, r)
GR.text(x, y, string(signif(rmin + i * tick, 12))) gr_text(x, y, _cycle(rtick_labels, i))
end end
end end
end end