From 7f6fe09a002be68355546b741576788562c0df44 Mon Sep 17 00:00:00 2001 From: Daniel Schwabeneder Date: Thu, 15 Mar 2018 21:22:29 +0100 Subject: [PATCH 1/2] fix magic fill argument --- src/args.jl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/args.jl b/src/args.jl index 534210ad..68354760 100644 --- a/src/args.jl +++ b/src/args.jl @@ -751,6 +751,10 @@ function processFillArg(d::KW, arg) elseif allAlphas(arg) d[:fillalpha] = arg + # fillrange provided as vector or number + elseif typeof(arg) <: Union{AbstractArray{<:Real}, Real} + d[:fillrange] = arg + elseif !handleColors!(d, arg, :fillcolor) d[:fillrange] = arg From 501df8cfb97435992d1969233fb7dd4e89e1fffc Mon Sep 17 00:00:00 2001 From: Daniel Schwabeneder Date: Thu, 15 Mar 2018 21:46:19 +0100 Subject: [PATCH 2/2] allow passing Real or 2Tuple of Reals as fillrange for Plotly --- src/backends/plotly.jl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/backends/plotly.jl b/src/backends/plotly.jl index a108e014..1071f802 100644 --- a/src/backends/plotly.jl +++ b/src/backends/plotly.jl @@ -536,7 +536,7 @@ function plotly_series(plt::Plot, series::Series) if series[:fillrange] == true || series[:fillrange] == 0 || isa(series[:fillrange], Tuple) d_out[:fill] = "tozeroy" d_out[:fillcolor] = rgba_string(series[:fillcolor]) - elseif isa(series[:fillrange], AbstractVector) + elseif typeof(series[:fillrange]) <: Union{AbstractVector{<:Real}, Real} d_out[:fill] = "tonexty" d_out[:fillcolor] = rgba_string(series[:fillcolor]) elseif !(series[:fillrange] in (false, nothing)) @@ -665,6 +665,14 @@ function plotly_series(plt::Plot, series::Series) # series, one for series being filled to) instead of one d_out_fillrange = deepcopy(d_out) d_out_fillrange[:showlegend] = false + # if fillrange is provided as real or tuple of real, expand to array + if typeof(series[:fillrange]) <: Real + series[:fillrange] = fill(series[:fillrange], length(series[:x])) + elseif typeof(series[:fillrange]) <: Tuple + f1 = typeof(series[:fillrange][1]) <: Real ? fill(series[:fillrange][1], length(series[:x])) : series[:fillrange][1] + f2 = typeof(series[:fillrange][2]) <: Real ? fill(series[:fillrange][2], length(series[:x])) : series[:fillrange][2] + series[:fillrange] = (f1, f2) + end if isa(series[:fillrange], AbstractVector) d_out_fillrange[:y] = series[:fillrange] delete!(d_out_fillrange, :fill)