From 2afe52aa68828ee2bf39ee9d19948f09cea3b839 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Fri, 4 Aug 2023 16:43:56 -0700 Subject: [PATCH] use interval.ceil, if available --- src/marks/axis.js | 5 +++-- test/output/timeAxisOrdinalIrregular.svg | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/marks/axis.js b/src/marks/axis.js index 39b287520fd..5d5c8190bdb 100644 --- a/src/marks/axis.js +++ b/src/marks/axis.js @@ -542,12 +542,13 @@ function axisMark(mark, k, ariaLabel, data, options, initialize) { // ordinal time // TODO determine whether the interval is utc or local time? // TODO assert that the interval is one of utcTick’s known intervals? + // TODO add ceil to the RangeIntervalImplementation interface? if (isTimeInterval(scale.interval)) { - const type = "utc"; // TODO detect whether interval is utc or local + const type = "utc"; const [start, stop] = extent(data); if (interval) { data = maybeRangeInterval(interval, type).range(start, stop); - data = data.map(scale.interval.floor, scale.interval); + data = data.map(scale.interval.ceil ?? scale.interval.floor, scale.interval); } else { if (ticks === undefined) { const [min, max] = extent(scale.range()); diff --git a/test/output/timeAxisOrdinalIrregular.svg b/test/output/timeAxisOrdinalIrregular.svg index 07a68339c61..c37db16b13a 100644 --- a/test/output/timeAxisOrdinalIrregular.svg +++ b/test/output/timeAxisOrdinalIrregular.svg @@ -39,18 +39,18 @@ ↑ Close - - - - - + + + + + - 2013 - 2014 - 2015 - 2016 - 2017 + 2014 + 2015 + 2016 + 2017 + 2018 2013-05-13