wip let axis limits expand
This commit is contained in:
parent
11e9eb3aa3
commit
a602309a02
42
src/axes.jl
42
src/axes.jl
@ -181,32 +181,32 @@ function optimal_ticks_and_labels(axis::Axis, ticks = nothing)
|
|||||||
end
|
end
|
||||||
|
|
||||||
# get a list of well-laid-out ticks
|
# get a list of well-laid-out ticks
|
||||||
scaled_ticks = if ticks == nothing
|
if ticks == nothing
|
||||||
optimize_ticks(
|
scaled_ticks = optimize_ticks(
|
||||||
sf(amin),
|
sf(amin),
|
||||||
sf(amax);
|
sf(amax);
|
||||||
k_min = 5, # minimum number of ticks
|
k_min = 5, # minimum number of ticks
|
||||||
k_max = 8, # maximum number of ticks
|
k_max = 8, # maximum number of ticks
|
||||||
)[1]
|
)[1], sf(amin), sf(amax)
|
||||||
elseif typeof(ticks) <: Int
|
elseif typeof(ticks) <: Int
|
||||||
# only return ticks within the axis limits
|
scaled_ticks, viewmin, viewmax = optimize_ticks(
|
||||||
filter(
|
sf(amin),
|
||||||
ti -> sf(amin) <= ti <= sf(amax),
|
sf(amax);
|
||||||
optimize_ticks(
|
# TODO: find a better configuration to return the chosen number
|
||||||
sf(amin),
|
# of ticks
|
||||||
sf(amax);
|
k_min = ticks, # minimum number of ticks
|
||||||
# TODO: find a better configuration to return the chosen number
|
k_max = ticks, # maximum number of ticks
|
||||||
# of ticks
|
k_ideal = ticks,
|
||||||
k_min = ticks + 1, # minimum number of ticks
|
# k_min = ticks + 1, # minimum number of ticks
|
||||||
k_max = ticks + 2, # maximum number of ticks
|
# k_max = ticks + 2, # maximum number of ticks
|
||||||
k_ideal = ticks + 2,
|
# k_ideal = ticks + 2,
|
||||||
# `strict_span = false` rewards cases where the span of the
|
# `strict_span = false` rewards cases where the span of the
|
||||||
# chosen ticks is not too much bigger than amin - amax:
|
# chosen ticks is not too much bigger than amin - amax:
|
||||||
strict_span = false,
|
strict_span = false,
|
||||||
)[1]
|
|
||||||
)
|
)
|
||||||
|
axis[:lims] = map(invscalefunc(scale), (viewmin, viewmax))
|
||||||
else
|
else
|
||||||
map(sf, filter(t -> amin <= t <= amax, ticks))
|
scaled_ticks = map(sf, (filter(t -> amin <= t <= amax, ticks), amin, amax))
|
||||||
end
|
end
|
||||||
unscaled_ticks = map(invscalefunc(scale), scaled_ticks)
|
unscaled_ticks = map(invscalefunc(scale), scaled_ticks)
|
||||||
|
|
||||||
@ -503,10 +503,10 @@ end
|
|||||||
# compute the line segments which should be drawn for this axis
|
# compute the line segments which should be drawn for this axis
|
||||||
function axis_drawing_info(sp::Subplot)
|
function axis_drawing_info(sp::Subplot)
|
||||||
xaxis, yaxis = sp[:xaxis], sp[:yaxis]
|
xaxis, yaxis = sp[:xaxis], sp[:yaxis]
|
||||||
xmin, xmax = axis_limits(xaxis)
|
|
||||||
ymin, ymax = axis_limits(yaxis)
|
|
||||||
xticks = get_ticks(xaxis)
|
xticks = get_ticks(xaxis)
|
||||||
yticks = get_ticks(yaxis)
|
yticks = get_ticks(yaxis)
|
||||||
|
xmin, xmax = axis_limits(xaxis)
|
||||||
|
ymin, ymax = axis_limits(yaxis)
|
||||||
spine_segs = Segments(2)
|
spine_segs = Segments(2)
|
||||||
grid_segs = Segments(2)
|
grid_segs = Segments(2)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user