This commit is contained in:
Nicholas Bauer 2021-10-10 21:02:53 -04:00
parent 1d28f4532d
commit 7b871a2817
2 changed files with 5 additions and 4 deletions

View File

@ -141,6 +141,7 @@ function (pgfx_plot::PGFPlotsXPlot)(plt::Plot{PGFPlotsXBackend})
title_loc = sp[:titlelocation] title_loc = sp[:titlelocation]
bgc_inside = plot_color(sp[:background_color_inside]) bgc_inside = plot_color(sp[:background_color_inside])
bgc_inside_a = alpha(bgc_inside) bgc_inside_a = alpha(bgc_inside)
update_clims(sp)
axis_opt = PGFPlotsX.Options( axis_opt = PGFPlotsX.Options(
"point meta max" => get_clims(sp)[2], "point meta max" => get_clims(sp)[2],
"point meta min" => get_clims(sp)[1], "point meta min" => get_clims(sp)[1],

View File

@ -8,11 +8,11 @@ process_clims(f) = f
const sp_clims = Dict{Subplot, Tuple{Float64, Float64}}() const sp_clims = Dict{Subplot, Tuple{Float64, Float64}}()
const series_clims = Dict{Series, Tuple{Float64, Float64}}() const series_clims = Dict{Series, Tuple{Float64, Float64}}()
get_clims(sp::Subplot)::Tuple{Float64,Float64} = sp_clims[sp] get_clims(sp::Subplot)::Tuple{Float64,Float64} = haskey(sp_clims, sp) ? sp_clims[sp] : update_clims(sp)
get_clims(series::Series)::Tuple{Float64,Float64} = series_clims[series] get_clims(series::Series)::Tuple{Float64,Float64} = haskey(series_clims, series) ? series_clims[series] : update_clims(series)
get_clims(sp::Subplot, series::Series)::Tuple{Float64,Float64} = get_clims(sp::Subplot, series::Series)::Tuple{Float64,Float64} =
series[:colorbar_entry] ? sp_clims[sp] : series_clims[series] series[:colorbar_entry] ? get_clims(sp) : get_clims(series)
function update_clims(sp::Subplot, op = process_clims(sp[:clims]))::Tuple{Float64,Float64} function update_clims(sp::Subplot, op = process_clims(sp[:clims]))::Tuple{Float64,Float64}
zmin, zmax = Inf, -Inf zmin, zmax = Inf, -Inf
@ -48,7 +48,7 @@ function update_clims(series::Series, op = ignorenan_extrema)::Tuple{Float64,Flo
end end
update_clims(zmin, zmax, vals::AbstractSurface, op)::Tuple{Float64, Float64} = update_clims(zmin, zmax, vals.surf, op) update_clims(zmin, zmax, vals::AbstractSurface, op)::Tuple{Float64, Float64} = update_clims(zmin, zmax, vals.surf, op)
update_clims(zmin, zmax, vals::AbstractArray, op)::Tuple{Float64, Float64} = update_clims(zmin, zmax, op(vals)...) update_clims(zmin, zmax, vals::Any, op)::Tuple{Float64, Float64} = _update_clims(zmin, zmax, op(vals)...)
update_clims(zmin, zmax, ::Nothing, ::Any)::Tuple{Float64, Float64} = zmin, zmax update_clims(zmin, zmax, ::Nothing, ::Any)::Tuple{Float64, Float64} = zmin, zmax
_update_clims(zmin, zmax, emin, emax) = NaNMath.min(zmin, emin), NaNMath.max(zmax, emax) _update_clims(zmin, zmax, emin, emax) = NaNMath.min(zmin, emin), NaNMath.max(zmax, emax)