allow passing vectors/tuples of vectors to series_annotations
This commit is contained in:
parent
5c13f00716
commit
39cb596868
@ -4,10 +4,10 @@ const P3 = GeometryBasics.Point3{Float64}
|
|||||||
const _haligns = :hcenter, :left, :right
|
const _haligns = :hcenter, :left, :right
|
||||||
const _valigns = :vcenter, :top, :bottom
|
const _valigns = :vcenter, :top, :bottom
|
||||||
|
|
||||||
nanpush!(a::AbstractVector{P2}, b) = (push!(a, P2(NaN, NaN)); push!(a, b))
|
nanpush!(a::AVec{P2}, b) = (push!(a, P2(NaN, NaN)); push!(a, b))
|
||||||
nanappend!(a::AbstractVector{P2}, b) = (push!(a, P2(NaN, NaN)); append!(a, b))
|
nanappend!(a::AVec{P2}, b) = (push!(a, P2(NaN, NaN)); append!(a, b))
|
||||||
nanpush!(a::AbstractVector{P3}, b) = (push!(a, P3(NaN, NaN, NaN)); push!(a, b))
|
nanpush!(a::AVec{P3}, b) = (push!(a, P3(NaN, NaN, NaN)); push!(a, b))
|
||||||
nanappend!(a::AbstractVector{P3}, b) = (push!(a, P3(NaN, NaN, NaN)); append!(a, b))
|
nanappend!(a::AVec{P3}, b) = (push!(a, P3(NaN, NaN, NaN)); append!(a, b))
|
||||||
compute_angle(v::P2) = (angle = atan(v[2], v[1]); angle < 0 ? 2π - angle : angle)
|
compute_angle(v::P2) = (angle = atan(v[2], v[1]); angle < 0 ? 2π - angle : angle)
|
||||||
|
|
||||||
# -------------------------------------------------------------
|
# -------------------------------------------------------------
|
||||||
@ -449,9 +449,9 @@ end
|
|||||||
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
||||||
|
|
||||||
mutable struct SeriesAnnotations
|
mutable struct SeriesAnnotations
|
||||||
strs::AbstractVector # the labels/names
|
strs::AVec # the labels/names
|
||||||
font::Font
|
font::Font
|
||||||
baseshape::Union{Shape, AbstractVector{Shape}, Nothing}
|
baseshape::Union{Shape, AVec{Shape}, Nothing}
|
||||||
scalefactor::Tuple
|
scalefactor::Tuple
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -464,12 +464,12 @@ series_annotations(scalar) = series_annotations([scalar])
|
|||||||
series_annotations(anns::SeriesAnnotations) = anns
|
series_annotations(anns::SeriesAnnotations) = anns
|
||||||
series_annotations(::Nothing) = nothing
|
series_annotations(::Nothing) = nothing
|
||||||
|
|
||||||
function series_annotations(strs::AbstractVector, args...)
|
function series_annotations(strs::AVec, args...)
|
||||||
fnt = font()
|
fnt = font()
|
||||||
shp = nothing
|
shp = nothing
|
||||||
scalefactor = 1, 1
|
scalefactor = 1, 1
|
||||||
for arg in args
|
for arg in args
|
||||||
if isa(arg, Shape) || (isa(arg, AbstractVector) && eltype(arg) == Shape)
|
if isa(arg, Shape) || (isa(arg, AVec) && eltype(arg) == Shape)
|
||||||
shp = arg
|
shp = arg
|
||||||
elseif isa(arg, Font)
|
elseif isa(arg, Font)
|
||||||
fnt = arg
|
fnt = arg
|
||||||
@ -479,6 +479,8 @@ function series_annotations(strs::AbstractVector, args...)
|
|||||||
scalefactor = arg, arg
|
scalefactor = arg, arg
|
||||||
elseif is_2tuple(arg)
|
elseif is_2tuple(arg)
|
||||||
scalefactor = arg
|
scalefactor = arg
|
||||||
|
elseif isa(arg, AVec)
|
||||||
|
strs = collect(zip(strs, arg))
|
||||||
else
|
else
|
||||||
@warn "Unused SeriesAnnotations arg: $arg ($(typeof(arg)))"
|
@warn "Unused SeriesAnnotations arg: $arg ($(typeof(arg)))"
|
||||||
end
|
end
|
||||||
@ -495,7 +497,7 @@ function series_annotations_shapes!(series::Series, scaletype::Symbol=:pixels)
|
|||||||
anns = series[:series_annotations]
|
anns = series[:series_annotations]
|
||||||
# msw, msh = anns.scalefactor
|
# msw, msh = anns.scalefactor
|
||||||
# ms = series[:markersize]
|
# ms = series[:markersize]
|
||||||
# msw, msh = if isa(ms, AbstractVector)
|
# msw, msh = if isa(ms, AVec)
|
||||||
# 1, 1
|
# 1, 1
|
||||||
# elseif is_2tuple(ms)
|
# elseif is_2tuple(ms)
|
||||||
# ms
|
# ms
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user