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,
|
: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_subplot_attr(k) = k in _all_subplot_args
|
||||||
is_series_attr(k) = k in _all_series_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)
|
GR.setscale(0)
|
||||||
if sp[:legend_title] !== nothing
|
if sp[:legend_title] !== nothing
|
||||||
gr_set_font(legendtitlefont(sp), sp)
|
gr_set_font(legendtitlefont(sp), sp)
|
||||||
|
legendn += 1
|
||||||
tbx, tby = gr_inqtext(0, 0, string(sp[:legend_title]))
|
tbx, tby = gr_inqtext(0, 0, string(sp[:legend_title]))
|
||||||
legendw = tbx[3] - tbx[1]
|
legendw = tbx[3] - tbx[1]
|
||||||
dy = tby[3] - tby[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
|
x_legend_offset = (viewport_plotarea[2] - viewport_plotarea[1]) / 30
|
||||||
y_legend_offset = (viewport_plotarea[4] - viewport_plotarea[3]) / 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
|
legendh = dy * legendn
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -1289,7 +1290,7 @@ end
|
|||||||
## Viewport, window and scale
|
## Viewport, window and scale
|
||||||
|
|
||||||
function gr_update_viewport_legend!(viewport_plotarea, sp, leg)
|
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]
|
xaxis, yaxis = sp[:xaxis], sp[:yaxis]
|
||||||
xmirror =
|
xmirror =
|
||||||
@ -1299,8 +1300,8 @@ function gr_update_viewport_legend!(viewport_plotarea, sp, leg)
|
|||||||
yaxis[:guide_position] == :right ||
|
yaxis[:guide_position] == :right ||
|
||||||
(yaxis[:guide_position] == :auto && yaxis[:mirror] == true)
|
(yaxis[:guide_position] == :auto && yaxis[:mirror] == true)
|
||||||
|
|
||||||
if sp[:legend_position] isa Tuple{<:Real,Symbol}
|
if s isa Tuple{<:Real,Symbol}
|
||||||
if sp[:legend_position][2] === :outer
|
if s[2] === :outer
|
||||||
(x,y) = gr_legend_pos(sp, leg, viewport_plotarea) # Dry run, to figure out
|
(x,y) = gr_legend_pos(sp, leg, viewport_plotarea) # Dry run, to figure out
|
||||||
if x < viewport_plotarea[1]
|
if x < viewport_plotarea[1]
|
||||||
viewport_plotarea[1] +=
|
viewport_plotarea[1] +=
|
||||||
@ -1320,6 +1321,7 @@ function gr_update_viewport_legend!(viewport_plotarea, sp, leg)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
leg_str = string(s)
|
||||||
if occursin("outer", leg_str)
|
if occursin("outer", leg_str)
|
||||||
if occursin("right", leg_str)
|
if occursin("right", leg_str)
|
||||||
viewport_plotarea[2] -= leg.leftw + leg.textw + leg.rightw + leg.xoffset
|
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])
|
leg.h + leg.dy + leg.yoffset + !xmirror * gr_axis_height(sp, sp[:xaxis])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if sp[:legend_position] == :inline
|
if s == :inline
|
||||||
if sp[:yaxis][:mirror]
|
if sp[:yaxis][:mirror]
|
||||||
viewport_plotarea[1] += leg.w
|
viewport_plotarea[1] += leg.w
|
||||||
else
|
else
|
||||||
|
|||||||
@ -4,14 +4,27 @@ const _all_defaults = KW[_series_defaults, _plot_defaults, _subplot_defaults]
|
|||||||
const _initial_defaults = deepcopy(_all_defaults)
|
const _initial_defaults = deepcopy(_all_defaults)
|
||||||
const _initial_axis_defaults = deepcopy(_axis_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
|
# to be able to reset font sizes to initial values
|
||||||
const _initial_plt_fontsizes =
|
const _initial_plt_fontsizes =
|
||||||
Dict(:plot_titlefontsize => _plot_defaults[:plot_titlefontsize])
|
Dict(:plot_titlefontsize => _plot_defaults[:plot_titlefontsize])
|
||||||
|
|
||||||
const _initial_sp_fontsizes = Dict(
|
const _initial_sp_fontsizes = Dict(
|
||||||
:titlefontsize => _subplot_defaults[:titlefontsize],
|
:titlefontsize => _subplot_defaults[:titlefontsize],
|
||||||
:legendfontsize => _subplot_defaults[:legend_font_pointsize],
|
:legend_font_pointsize => _subplot_defaults[:legend_font_pointsize],
|
||||||
:legendtitlefontsize => _subplot_defaults[:legend_title_font_pointsize],
|
:legend_title_font_pointsize => _subplot_defaults[:legend_title_font_pointsize],
|
||||||
:annotationfontsize => _subplot_defaults[:annotationfontsize],
|
:annotationfontsize => _subplot_defaults[:annotationfontsize],
|
||||||
:colorbar_tickfontsize => _subplot_defaults[:colorbar_tickfontsize],
|
:colorbar_tickfontsize => _subplot_defaults[:colorbar_tickfontsize],
|
||||||
:colorbar_titlefontsize => _subplot_defaults[:colorbar_titlefontsize],
|
:colorbar_titlefontsize => _subplot_defaults[:colorbar_titlefontsize],
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user