Merge pull request #720 from daschw/pull-request/f2235abf
Added logic to choose *round* DateTime tick positions
This commit is contained in:
commit
ea15f7746d
@ -156,6 +156,13 @@ function optimal_ticks_and_labels(axis::Axis, ticks = nothing)
|
|||||||
scale = axis[:scale]
|
scale = axis[:scale]
|
||||||
sf = scalefunc(scale)
|
sf = scalefunc(scale)
|
||||||
|
|
||||||
|
# If the axis input was a Date or DateTime use a special logic to find
|
||||||
|
# "round" Date(Time)s as ticks
|
||||||
|
# TODO: maybe: non-trivial scale (:ln, :log2, :log10) for date/datetime
|
||||||
|
if axis[:formatter] in (dateformatter, datetimeformatter) && ticks == nothing && scale == :identity
|
||||||
|
return optimize_datetime_ticks(amin, amax; k_min = 2, k_max = 4)
|
||||||
|
end
|
||||||
|
|
||||||
# get a list of well-laid-out ticks
|
# get a list of well-laid-out ticks
|
||||||
scaled_ticks = if ticks == nothing
|
scaled_ticks = if ticks == nothing
|
||||||
optimize_ticks(
|
optimize_ticks(
|
||||||
|
|||||||
@ -792,8 +792,11 @@ abline!(args...; kw...) = abline!(current(), args...; kw...)
|
|||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
# Dates
|
# Dates
|
||||||
|
|
||||||
@recipe f(::Type{Date}, dt::Date) = (dt -> convert(Int,dt), dt -> string(convert(Date,dt)))
|
dateformatter(dt) = string(convert(Date, convert(DateTime, dt)))
|
||||||
@recipe f(::Type{DateTime}, dt::DateTime) = (dt -> convert(Int,dt), dt -> string(convert(DateTime,dt)))
|
datetimeformatter(dt) = string(convert(DateTime, dt))
|
||||||
|
|
||||||
|
@recipe f(::Type{Date}, dt::Date) = (dt -> convert(Int, convert(DateTime, dt)), dateformatter)
|
||||||
|
@recipe f(::Type{DateTime}, dt::DateTime) = (dt -> convert(Int,dt), datetimeformatter)
|
||||||
|
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
# Complex Numbers
|
# Complex Numbers
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user