Skip to content

Commit

Permalink
Merge pull request JuliaPlots#3097 from daschw/gr-clims
Browse files Browse the repository at this point in the history
ensure non-identical clims for gr
  • Loading branch information
daschw authored Oct 24, 2020
2 parents 9b24b38 + 54fdd4e commit 8ce603d
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 4 deletions.
20 changes: 17 additions & 3 deletions src/backends/gr.jl
Original file line number Diff line number Diff line change
Expand Up @@ -889,6 +889,20 @@ function get_z_normalized(z, clims...)
return remap(clamp(z, clims...), clims...)
end

function gr_clims(args...)
lo, hi = get_clims(args...)
if lo == hi
if lo == 0
hi = one(hi)
elseif lo < 0
hi = zero(hi)
else
lo = zero(lo)
end
end
return lo, hi
end

function gr_display(sp::Subplot{GRBackend}, w, h, viewport_canvas)
_update_min_padding!(sp)

Expand Down Expand Up @@ -926,7 +940,7 @@ function gr_display(sp::Subplot{GRBackend}, w, h, viewport_canvas)
end

# draw the colorbar
hascolorbar(sp) && gr_draw_colorbar(cbar, sp, get_clims(sp), viewport_plotarea)
hascolorbar(sp) && gr_draw_colorbar(cbar, sp, gr_clims(sp), viewport_plotarea)

# add the legend
gr_add_legend(sp, leg, viewport_plotarea)
Expand Down Expand Up @@ -975,7 +989,7 @@ function gr_add_legend(sp, leg, viewport_plotarea)
gr_set_font(legendfont(sp), sp)
end
for series in series_list(sp)
clims = get_clims(sp, series)
clims = gr_clims(sp, series)
should_add_to_legend(series) || continue
st = series[:seriestype]
lc = get_linecolor(series, clims)
Expand Down Expand Up @@ -1535,7 +1549,7 @@ function gr_add_series(sp, series)
x, y = convert_to_polar(x, y, (rmin, rmax))
end

clims = get_clims(sp, series)
clims = gr_clims(sp, series)

# add custom frame shapes to markershape?
series_annotations_shapes!(series)
Expand Down
6 changes: 5 additions & 1 deletion src/recipes.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1483,7 +1483,11 @@ end
markersize := 1
end
markerstrokewidth := 0
marker_z := zs
if length(unique(zs)) == 1
seriescolor --> :black
else
marker_z := zs
end
label := ""
x := cs
y := rs
Expand Down

0 comments on commit 8ce603d

Please sign in to comment.