Skip to content

Commit 93541eb

Browse files
committed
let explicit tickformat determine the offset not dtick
1 parent 35a9b91 commit 93541eb

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/plots/cartesian/axes.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,16 @@ axes.calcTicks = function calcTicks(ax, opts) {
682682
ax._inCalcTicks = true;
683683

684684
var isPeriod = ax.ticklabelmode === 'period';
685+
var definedDelta;
686+
if(isPeriod && ax.tickformat) {
687+
var _has = function(str) {
688+
return ax.tickformat.indexOf(str) !== -1;
689+
};
690+
691+
if(_has('%d')) definedDelta = ONEDAY;
692+
else if(_has('%b') || _has('%m')) definedDelta = ONEAVGMONTH;
693+
else if(_has('%Y') || _has('%y')) definedDelta = ONEAVGYEAR;
694+
}
685695

686696
var ticksOut = new Array(tickVals.length);
687697
for(var i = 0; i < tickVals.length; i++) {
@@ -709,7 +719,7 @@ axes.calcTicks = function calcTicks(ax, opts) {
709719
var A = tickVals[a].value;
710720
var B = tickVals[b].value;
711721

712-
var delta = Math.abs(B - A);
722+
var delta = definedDelta || Math.abs(B - A);
713723
var sign = A > B ? -1 : 1;
714724
var half = sign / 2;
715725

0 commit comments

Comments
 (0)