fix gr
This commit is contained in:
parent
318ae94552
commit
4ed195f8d9
12
src/args.jl
12
src/args.jl
@ -551,18 +551,6 @@ const _suppress_warnings = Set{Symbol}([
|
||||
:relative_bbox,
|
||||
])
|
||||
|
||||
# add defaults for the letter versions
|
||||
const _axis_defaults_byletter = KW()
|
||||
|
||||
function reset_axis_defaults_byletter!()
|
||||
for letter in (:x, :y, :z)
|
||||
_axis_defaults_byletter[letter] = KW()
|
||||
for (k, v) in _axis_defaults
|
||||
_axis_defaults_byletter[letter][k] = v
|
||||
end
|
||||
end
|
||||
end
|
||||
reset_axis_defaults_byletter!()
|
||||
|
||||
is_subplot_attr(k) = k in _all_subplot_args
|
||||
is_series_attr(k) = k in _all_series_args
|
||||
|
||||
@ -1243,6 +1243,7 @@ function gr_get_legend_geometry(viewport_plotarea, sp)
|
||||
GR.setscale(0)
|
||||
if sp[:legend_title] !== nothing
|
||||
gr_set_font(legendtitlefont(sp), sp)
|
||||
legendn += 1
|
||||
tbx, tby = gr_inqtext(0, 0, string(sp[:legend_title]))
|
||||
legendw = tbx[3] - tbx[1]
|
||||
dy = tby[3] - tby[1]
|
||||
@ -1270,7 +1271,7 @@ function gr_get_legend_geometry(viewport_plotarea, sp)
|
||||
x_legend_offset = (viewport_plotarea[2] - viewport_plotarea[1]) / 30
|
||||
y_legend_offset = (viewport_plotarea[4] - viewport_plotarea[3]) / 30
|
||||
|
||||
dy = gr_point_mult(sp) * sp[:legend_font_pointsize] * 1.75
|
||||
dy = get(sp[:extra_kwargs], :legend_hfactor, 1)
|
||||
legendh = dy * legendn
|
||||
|
||||
return (
|
||||
@ -1289,7 +1290,7 @@ end
|
||||
## Viewport, window and scale
|
||||
|
||||
function gr_update_viewport_legend!(viewport_plotarea, sp, leg)
|
||||
leg_str = string(sp[:legend_position])
|
||||
s = sp[:legend_position]
|
||||
|
||||
xaxis, yaxis = sp[:xaxis], sp[:yaxis]
|
||||
xmirror =
|
||||
@ -1299,8 +1300,8 @@ function gr_update_viewport_legend!(viewport_plotarea, sp, leg)
|
||||
yaxis[:guide_position] == :right ||
|
||||
(yaxis[:guide_position] == :auto && yaxis[:mirror] == true)
|
||||
|
||||
if sp[:legend_position] isa Tuple{<:Real,Symbol}
|
||||
if sp[:legend_position][2] === :outer
|
||||
if s isa Tuple{<:Real,Symbol}
|
||||
if s[2] === :outer
|
||||
(x,y) = gr_legend_pos(sp, leg, viewport_plotarea) # Dry run, to figure out
|
||||
if x < viewport_plotarea[1]
|
||||
viewport_plotarea[1] +=
|
||||
@ -1320,6 +1321,7 @@ function gr_update_viewport_legend!(viewport_plotarea, sp, leg)
|
||||
end
|
||||
end
|
||||
end
|
||||
leg_str = string(s)
|
||||
if occursin("outer", leg_str)
|
||||
if occursin("right", leg_str)
|
||||
viewport_plotarea[2] -= leg.leftw + leg.textw + leg.rightw + leg.xoffset
|
||||
@ -1337,7 +1339,7 @@ function gr_update_viewport_legend!(viewport_plotarea, sp, leg)
|
||||
leg.h + leg.dy + leg.yoffset + !xmirror * gr_axis_height(sp, sp[:xaxis])
|
||||
end
|
||||
end
|
||||
if sp[:legend_position] == :inline
|
||||
if s == :inline
|
||||
if sp[:yaxis][:mirror]
|
||||
viewport_plotarea[1] += leg.w
|
||||
else
|
||||
|
||||
@ -4,14 +4,27 @@ const _all_defaults = KW[_series_defaults, _plot_defaults, _subplot_defaults]
|
||||
const _initial_defaults = deepcopy(_all_defaults)
|
||||
const _initial_axis_defaults = deepcopy(_axis_defaults)
|
||||
|
||||
# add defaults for the letter versions
|
||||
const _axis_defaults_byletter = KW()
|
||||
|
||||
function reset_axis_defaults_byletter!()
|
||||
for letter in (:x, :y, :z)
|
||||
_axis_defaults_byletter[letter] = KW()
|
||||
for (k, v) in _axis_defaults
|
||||
_axis_defaults_byletter[letter][k] = v
|
||||
end
|
||||
end
|
||||
end
|
||||
reset_axis_defaults_byletter!()
|
||||
|
||||
# to be able to reset font sizes to initial values
|
||||
const _initial_plt_fontsizes =
|
||||
Dict(:plot_titlefontsize => _plot_defaults[:plot_titlefontsize])
|
||||
|
||||
const _initial_sp_fontsizes = Dict(
|
||||
:titlefontsize => _subplot_defaults[:titlefontsize],
|
||||
:legendfontsize => _subplot_defaults[:legend_font_pointsize],
|
||||
:legendtitlefontsize => _subplot_defaults[:legend_title_font_pointsize],
|
||||
:legend_font_pointsize => _subplot_defaults[:legend_font_pointsize],
|
||||
:legend_title_font_pointsize => _subplot_defaults[:legend_title_font_pointsize],
|
||||
:annotationfontsize => _subplot_defaults[:annotationfontsize],
|
||||
:colorbar_tickfontsize => _subplot_defaults[:colorbar_tickfontsize],
|
||||
:colorbar_titlefontsize => _subplot_defaults[:colorbar_titlefontsize],
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user