diff --git a/src/args.jl b/src/args.jl index e7224121..1db390bb 100644 --- a/src/args.jl +++ b/src/args.jl @@ -1059,13 +1059,13 @@ end """ `default(key)` returns the current default value for that key. - + `default(key, value)` sets the current default value for that key. - + `default(; kw...)` will set the current default value for each key/value pair. - + `default(plotattributes, key)` returns the key from plotattributes if it exists, otherwise `default(key)`. - + """ function default(k::Symbol) k = get(_keyAliases, k, k) @@ -1968,6 +1968,8 @@ function _update_subplot_legend(sp::Subplot, plotattributes_in) haskey(_match_map, lk) ? sp[lk] : haskey(plotattributes_in, :legend_font) ? getproperty(plotattributes_in[:legend_font], k) : + haskey(sp.attr, :legend_font) ? + getproperty(sp.attr[:legend_font], k) : default(plotattributes_in, lk) ) for k in (:family, :pointsize, :valign, :halign, :rotation, :color) ) diff --git a/test/test_defaults.jl b/test/test_defaults.jl index 6ad49077..e9abd345 100644 --- a/test/test_defaults.jl +++ b/test/test_defaults.jl @@ -76,6 +76,11 @@ end # testset @test p[1][:legend_background_color] == RGBA{Float64}(0.0, 1.0, 1.0, 1.0) @test p[1][:legend_foreground_color] == RGBA{Float64}(0.0, 0.5019607843137255, 0.0, 1.0) + #remember settings + plot(legend_font_pointsize = 20) + sp = plot!(label = "R")[1] + @test Plots.legendfont(sp).pointsize == 20 + #setting whole font sp = plot( 1:5,