Skip to content

Commit 9fce7ad

Browse files
committed
improve quarters and year period label positioning
1 parent 1a09b58 commit 9fce7ad

File tree

4 files changed

+40
-24
lines changed

4 files changed

+40
-24
lines changed

src/constants/numerical.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,17 @@ module.exports = {
3131
* to remind us that not all years and months
3232
* have the same length
3333
*/
34+
ONEMAXYEAR: 31622400000, // 366 * ONEDAY
3435
ONEAVGYEAR: 31557600000, // 365.25 days
36+
ONEMINYEAR: 31536000000, // 365 * ONEDAY
37+
ONEMAXQUARTER: 7948800000, // 92 * ONEDAY
3538
ONEAVGQUARTER: 7889400000, // 1/4 of ONEAVGYEAR
39+
ONEMINQUARTER: 7776000000, // 90 * ONEDAY
3640
ONEMAXMONTH: 2678400000, // 31 * ONEDAY
3741
ONEAVGMONTH: 2629800000, // 1/12 of ONEAVGYEAR
3842
ONEMINMONTH: 2419200000, // 28 * ONEDAY
3943
ONEWEEK: 604800000, // 7 * ONEDAY
40-
ONEDAY: 86400000,
44+
ONEDAY: 86400000, // 24 * ONEHOUR
4145
ONEHOUR: 3600000,
4246
ONEMIN: 60000,
4347
ONESEC: 1000,

src/plots/cartesian/axes.js

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,12 @@ var axAttrs = require('./layout_attributes');
2323
var cleanTicks = require('./clean_ticks');
2424

2525
var constants = require('../../constants/numerical');
26+
var ONEMAXYEAR = constants.ONEMAXYEAR;
2627
var ONEAVGYEAR = constants.ONEAVGYEAR;
28+
var ONEMINYEAR = constants.ONEMINYEAR;
29+
var ONEMAXQUARTER = constants.ONEMAXQUARTER;
2730
var ONEAVGQUARTER = constants.ONEAVGQUARTER;
31+
var ONEMINQUARTER = constants.ONEMINQUARTER;
2832
var ONEMAXMONTH = constants.ONEMAXMONTH;
2933
var ONEAVGMONTH = constants.ONEAVGMONTH;
3034
var ONEMINMONTH = constants.ONEMINMONTH;
@@ -779,11 +783,19 @@ axes.calcTicks = function calcTicks(ax, opts) {
779783

780784
var actualDelta = Math.abs(B - A);
781785
var delta = definedDelta || actualDelta;
782-
if(delta >= ONEDAY * 365) { // Years could have days less than ONEAVGYEAR period
783-
v += ONEAVGYEAR / 2;
784-
} else if(delta >= ONEAVGQUARTER) {
785-
v += ONEAVGQUARTER / 2;
786-
} else if(delta >= ONEMINMONTH) { // Months could have days less than ONEAVGMONTH period
786+
if(delta >= ONEMINYEAR) {
787+
if(actualDelta >= ONEMINYEAR && actualDelta <= ONEMAXYEAR) {
788+
v += actualDelta / 2;
789+
} else {
790+
v += ONEAVGYEAR / 2;
791+
}
792+
} else if(delta >= ONEMINQUARTER) {
793+
if(actualDelta >= ONEMINQUARTER && actualDelta <= ONEMAXQUARTER) {
794+
v += actualDelta / 2;
795+
} else {
796+
v += ONEAVGQUARTER / 2;
797+
}
798+
} else if(delta >= ONEMINMONTH) {
787799
if(actualDelta >= ONEMINMONTH && actualDelta <= ONEMAXMONTH) {
788800
v += actualDelta / 2;
789801
} else {
-5 Bytes
Loading

test/jasmine/tests/axes_test.js

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5232,14 +5232,14 @@ describe('Test axes', function() {
52325232
})
52335233
.then(function() {
52345234
_assert('', [
5235-
'2019-07-02 15:00',
5236-
'2020-07-01 15:00',
5237-
'2021-07-02 15:00',
5238-
'2022-07-02 15:00',
5239-
'2023-07-02 15:00',
5240-
'2024-07-01 15:00',
5241-
'2025-07-02 15:00',
5242-
'2026-07-02 15:00'
5235+
'2019-07-02 12:00',
5236+
'2020-07-02',
5237+
'2021-07-02 12:00',
5238+
'2022-07-02 12:00',
5239+
'2023-07-02 12:00',
5240+
'2024-07-02',
5241+
'2025-07-02 12:00',
5242+
'2026-07-02 12:00'
52435243
], [
52445244
['', '2020', '2021', '2022', '2023', '2024', '2025', ''],
52455245
['', '20', '21', '22', '23', '24', '25', '']
@@ -5265,16 +5265,16 @@ describe('Test axes', function() {
52655265
})
52665266
.then(function() {
52675267
_assert('', [
5268-
'2019-11-15 15:45',
5269-
'2020-02-15 15:45',
5270-
'2020-05-16 15:45',
5271-
'2020-08-15 15:45',
5272-
'2020-11-15 15:45',
5273-
'2021-02-15 15:45',
5274-
'2021-05-16 15:45',
5275-
'2021-08-15 15:45',
5276-
'2021-11-15 15:45',
5277-
'2022-02-15 15:45'
5268+
'2019-11-16',
5269+
'2020-02-15 12:00',
5270+
'2020-05-16 12:00',
5271+
'2020-08-16',
5272+
'2020-11-16',
5273+
'2021-02-15',
5274+
'2021-05-16 12:00',
5275+
'2021-08-16',
5276+
'2021-11-16',
5277+
'2022-02-16'
52785278
], ['', '2020-1', '2020-2', '2020-3', '2020-4', '2021-1', '2021-2', '2021-3', '2021-4', '']);
52795279
})
52805280
.catch(failTest)

0 commit comments

Comments
 (0)