From 8b6ca96e0a5749100dd927e449c84c0c4345849d Mon Sep 17 00:00:00 2001 From: Michael Krabbe Borregaard Date: Fri, 7 Sep 2018 14:42:14 +0200 Subject: [PATCH 1/5] rudimentary missings support --- src/series.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/series.jl b/src/series.jl index c9b3f15a..2e1cc986 100644 --- a/src/series.jl +++ b/src/series.jl @@ -21,9 +21,10 @@ convertToAnyVector(n::Integer, plotattributes::KW) = Any[zeros(0) for i in 1:n], # numeric vector convertToAnyVector(v::AVec{T}, plotattributes::KW) where {T<:Number} = Any[v], nothing +convertToAnyVector(v::AVec{Union{Missing, T}}, plotattributes::KW) where {T<:Number} = Any[replace(v, missing => NaN)], nothing # string vector -convertToAnyVector(v::AVec{T}, plotattributes::KW) where {T<:AbstractString} = Any[v], nothing +convertToAnyVector(v::AVec{Union{Missing, T}}, plotattributes::KW) where {T<:AbstractString} = Any[replace(v, missing => "")], nothing function convertToAnyVector(v::AMat, plotattributes::KW) if all3D(plotattributes) From f571596eda3a7f0c2911048dd3c2b7390e79f62e Mon Sep 17 00:00:00 2001 From: Michael Krabbe Borregaard Date: Fri, 7 Sep 2018 15:04:53 +0200 Subject: [PATCH 2/5] Matrix support --- src/series.jl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/series.jl b/src/series.jl index 2e1cc986..6d59ce9e 100644 --- a/src/series.jl +++ b/src/series.jl @@ -27,6 +27,7 @@ convertToAnyVector(v::AVec{Union{Missing, T}}, plotattributes::KW) where {T<:Num convertToAnyVector(v::AVec{Union{Missing, T}}, plotattributes::KW) where {T<:AbstractString} = Any[replace(v, missing => "")], nothing function convertToAnyVector(v::AMat, plotattributes::KW) + v = handlemissingsinmatrix(v) if all3D(plotattributes) Any[Surface(v)] else @@ -34,6 +35,10 @@ function convertToAnyVector(v::AMat, plotattributes::KW) end, nothing end +handlemissingsinmatrix(v::AMat) = v +handlemissingsinmatrix(v::AMat{T}) where T <: Number = replace(v, missing => NaN) +handlemissingsinmatrix(v::AMat{T}) where T <: String = replace(v, missing => "") + # function convertToAnyVector(f::Function, plotattributes::KW) = Any[f], nothing From 94450a26e9bb30a0589fc1b7d1f1d6f12aadb12e Mon Sep 17 00:00:00 2001 From: Michael Krabbe Borregaard Date: Fri, 7 Sep 2018 15:16:10 +0200 Subject: [PATCH 3/5] restore String --- src/series.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/series.jl b/src/series.jl index 6d59ce9e..3b1129a6 100644 --- a/src/series.jl +++ b/src/series.jl @@ -24,6 +24,7 @@ convertToAnyVector(v::AVec{T}, plotattributes::KW) where {T<:Number} = Any[v], n convertToAnyVector(v::AVec{Union{Missing, T}}, plotattributes::KW) where {T<:Number} = Any[replace(v, missing => NaN)], nothing # string vector +convertToAnyVector(v::AVec{T}, plotattributes::KW) where {T<:AbstractString} = Any[v], nothing convertToAnyVector(v::AVec{Union{Missing, T}}, plotattributes::KW) where {T<:AbstractString} = Any[replace(v, missing => "")], nothing function convertToAnyVector(v::AMat, plotattributes::KW) @@ -61,6 +62,7 @@ function convertToAnyVector(v::AVec, plotattributes::KW) Any[convert(Vector{Float64}, v)], nothing else # something else... treat each element as an item + @show v vcat(Any[convertToAnyVector(vi, plotattributes)[1] for vi in v]...), nothing # Any[vi for vi in v], nothing end From 13339125ebf020727b077371878dd44d87007678 Mon Sep 17 00:00:00 2001 From: Michael Krabbe Borregaard Date: Fri, 7 Sep 2018 15:31:04 +0200 Subject: [PATCH 4/5] drop stray `@show` --- src/series.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/series.jl b/src/series.jl index 3b1129a6..6f0a7e57 100644 --- a/src/series.jl +++ b/src/series.jl @@ -62,7 +62,6 @@ function convertToAnyVector(v::AVec, plotattributes::KW) Any[convert(Vector{Float64}, v)], nothing else # something else... treat each element as an item - @show v vcat(Any[convertToAnyVector(vi, plotattributes)[1] for vi in v]...), nothing # Any[vi for vi in v], nothing end From 91816e6715d64875bb6dc6cc13db9bb726252a7a Mon Sep 17 00:00:00 2001 From: Michael Krabbe Borregaard Date: Fri, 7 Sep 2018 15:38:20 +0200 Subject: [PATCH 5/5] rename handlemissingsinmatrix --- src/series.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/series.jl b/src/series.jl index 6f0a7e57..bba91883 100644 --- a/src/series.jl +++ b/src/series.jl @@ -28,7 +28,7 @@ convertToAnyVector(v::AVec{T}, plotattributes::KW) where {T<:AbstractString} = A convertToAnyVector(v::AVec{Union{Missing, T}}, plotattributes::KW) where {T<:AbstractString} = Any[replace(v, missing => "")], nothing function convertToAnyVector(v::AMat, plotattributes::KW) - v = handlemissingsinmatrix(v) + v = handlemissings(v) if all3D(plotattributes) Any[Surface(v)] else @@ -36,9 +36,9 @@ function convertToAnyVector(v::AMat, plotattributes::KW) end, nothing end -handlemissingsinmatrix(v::AMat) = v -handlemissingsinmatrix(v::AMat{T}) where T <: Number = replace(v, missing => NaN) -handlemissingsinmatrix(v::AMat{T}) where T <: String = replace(v, missing => "") +handlemissings(v::AMat) = v +handlemissings(v::AMat{T}) where T <: Number = replace(v, missing => NaN) +handlemissings(v::AMat{T}) where T <: String = replace(v, missing => "") # function convertToAnyVector(f::Function, plotattributes::KW) = Any[f], nothing