Refactored to dispatching

This commit is contained in:
Nicholas Bauer 2021-10-10 20:52:01 -04:00
parent d43ad67443
commit 1d28f4532d

View File

@ -41,15 +41,16 @@ function update_clims(series::Series, op = ignorenan_extrema)::Tuple{Float64,Flo
series[:marker_z], series[:marker_z],
series[:fill_z], series[:fill_z],
) )
if (typeof(vals) <: AbstractSurface) && (eltype(vals.surf) <: Union{Missing,Real}) vals === nothing && continue
zmin, zmax = _update_clims(zmin, zmax, op(vals.surf)...) zmin, zmax = update_clims(zmin, zmax, vals, op)
elseif (vals !== nothing) && (eltype(vals) <: Union{Missing,Real})
zmin, zmax = _update_clims(zmin, zmax, op(vals)...)
end
end end
return series_clims[series] = zmin <= zmax ? (zmin, zmax) : (NaN, NaN) return series_clims[series] = zmin <= zmax ? (zmin, zmax) : (NaN, NaN)
end end
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, ::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)
@enum ColorbarStyle cbar_gradient cbar_fill cbar_lines @enum ColorbarStyle cbar_gradient cbar_fill cbar_lines