prototype

This commit is contained in:
Simon Christ 2020-11-12 12:04:22 +01:00 committed by Simon Christ
parent 31d3bf3e06
commit 566946f33c
3 changed files with 28 additions and 1 deletions

View File

@ -1667,13 +1667,17 @@ function convertLegendValue(val::Symbol)
:inline,
)
val
elseif val == :horizontal
-1
else
error("Invalid symbol for legend: $val")
end
end
convertLegendValue(val::Real) = val
convertLegendValue(val::Bool) = val ? :best : :none
convertLegendValue(val::Nothing) = :none
convertLegendValue(v::Tuple{S,T}) where {S<:Real,T<:Real} = v
convertLegendValue(v::Union{Tuple, NamedTuple}) = convertLegendValue.(v)
convertLegendValue(v::Tuple{S,T}) where {S<:Real, T<:Real} = v
convertLegendValue(v::Tuple{<:Real,Symbol}) = v
convertLegendValue(v::Real) = v
convertLegendValue(v::AbstractArray) = map(convertLegendValue, v)

View File

@ -145,6 +145,8 @@ function (pgfx_plot::PGFPlotsXPlot)(plt::Plot{PGFPlotsXBackend})
axis_opt = PGFPlotsX.Options(
"point meta max" => get_clims(sp)[2],
"point meta min" => get_clims(sp)[1],
"legend cell align" => "left",
"legend columns" => pgfx_legend_col(sp[:legend]),
"title" => sp[:title],
"title style" => PGFPlotsX.Options(
pgfx_get_title_pos(title_loc)...,
@ -949,6 +951,15 @@ function pgfx_linestyle(linewidth::Real, color, α = 1, linestyle = :solid)
)
end
function pgfx_legend_col(s::Symbol)
if s == :horizontal
return -1
end
return 1
end
pgfx_legend_col(n) = n
function pgfx_linestyle(plotattributes, i = 1)
lw = pgfx_thickness_scaling(plotattributes) * get_linewidth(plotattributes, i)
lc = single_color(get_linecolor(plotattributes, i))

View File

@ -772,3 +772,15 @@ function extrema_plus_buffer(v, buffmult = 0.2)
buffer = vdiff * buffmult
vmin - buffer, vmax + buffer
end
### Legend
@add_annotations subplot struct Legend
background_color
foreground_color
position
title
font::Font # TODO: check if macro is recursive enough
title_font
column
end