Merge pull request #780 from daschw/ds-ticks
WIP: Allow specifying the number of ticks by passing an Integer to the ticks attribute
This commit is contained in:
commit
6e4b9af6b1
20
src/axes.jl
20
src/axes.jl
@ -181,15 +181,27 @@ 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]
|
||||||
|
elseif typeof(ticks) <: Int
|
||||||
|
scaled_ticks, viewmin, viewmax = optimize_ticks(
|
||||||
|
sf(amin),
|
||||||
|
sf(amax);
|
||||||
|
k_min = ticks, # minimum number of ticks
|
||||||
|
k_max = ticks, # maximum number of ticks
|
||||||
|
k_ideal = ticks,
|
||||||
|
# `strict_span = false` rewards cases where the span of the
|
||||||
|
# chosen ticks is not too much bigger than amin - amax:
|
||||||
|
strict_span = false,
|
||||||
|
)
|
||||||
|
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)))
|
||||||
end
|
end
|
||||||
unscaled_ticks = map(invscalefunc(scale), scaled_ticks)
|
unscaled_ticks = map(invscalefunc(scale), scaled_ticks)
|
||||||
|
|
||||||
@ -226,7 +238,7 @@ function get_ticks(axis::Axis)
|
|||||||
elseif ticks == :auto
|
elseif ticks == :auto
|
||||||
# compute optimal ticks and labels
|
# compute optimal ticks and labels
|
||||||
optimal_ticks_and_labels(axis)
|
optimal_ticks_and_labels(axis)
|
||||||
elseif typeof(ticks) <: AVec
|
elseif typeof(ticks) <: Union{AVec, Int}
|
||||||
# override ticks, but get the labels
|
# override ticks, but get the labels
|
||||||
optimal_ticks_and_labels(axis, ticks)
|
optimal_ticks_and_labels(axis, ticks)
|
||||||
elseif typeof(ticks) <: NTuple{2, Any}
|
elseif typeof(ticks) <: NTuple{2, Any}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user