Skip to content

Commit 29ab444

Browse files
committed
jump label based on tick index
1 parent 49362b8 commit 29ab444

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

src/plots/cartesian/axes.js

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -829,18 +829,25 @@ axes.calcTicks = function calcTicks(ax, opts) {
829829
}
830830
}
831831

832+
var id = -1;
833+
832834
if(isPeriod) {
833835
// add one item to label period before tick0
834836
x = axes.tickIncrement(x, ax.dtick, !axrev, ax.calendar);
837+
id--;
835838
}
836839

840+
var ticklabeljump = ax.ticklabeljump;
841+
837842
var maxTicks = Math.max(1000, ax._length || 0);
838843
var tickVals = [];
839844
var xPrevious = null;
840845
for(;
841846
(axrev) ? (x >= endTick) : (x <= endTick);
842847
x = axes.tickIncrement(x, ax.dtick, axrev, ax.calendar)
843848
) {
849+
id++;
850+
844851
if(ax.rangebreaks) {
845852
if(!axrev) {
846853
if(x < startTick) continue;
@@ -858,10 +865,16 @@ axes.calcTicks = function calcTicks(ax, opts) {
858865
minor = true;
859866
}
860867

861-
tickVals.push({
868+
var obj = {
862869
minor: minor,
863870
value: x
864-
});
871+
};
872+
873+
if(ticklabeljump && (id % (ticklabeljump + 1))) {
874+
obj.jumpLabel = true;
875+
}
876+
877+
tickVals.push(obj);
865878
}
866879

867880
if(isPeriod) positionPeriodTicks(tickVals, ax, ax._definedDelta);
@@ -927,6 +940,10 @@ axes.calcTicks = function calcTicks(ax, opts) {
927940
_minor // noSuffixPrefix
928941
);
929942

943+
if(tickVals[i].jumpLabel) {
944+
t.jumpLabel = true;
945+
}
946+
930947
p = tickVals[i].periodX;
931948
if(p !== undefined) {
932949
t.periodX = p;
@@ -2967,9 +2984,8 @@ axes.drawLabels = function(gd, ax, opts) {
29672984
var axLetter = axId.charAt(0);
29682985
var cls = opts.cls || axId + 'tick';
29692986

2970-
var jump = ax.ticklabeljump;
2971-
var vals = jump ?
2972-
opts.vals.filter(function(_, i) { return i % (jump + 1) === 0; }) :
2987+
var vals = ax.ticklabeljump ?
2988+
opts.vals.filter(function(d) { return !d.jumpLabel; }) :
29732989
opts.vals;
29742990

29752991
var labelFns = opts.labelFns;
-392 Bytes
Loading

0 commit comments

Comments
 (0)