Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 904351a

Browse files
committed
fix issue 4902
1 parent 6206b29 commit 904351a

File tree

5 files changed

+37
-11
lines changed

5 files changed

+37
-11
lines changed

src/lib/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -257,10 +257,10 @@ lib.bBoxIntersect = function(a, b, pad) {
257257
* func: the function to apply
258258
* x1, x2: optional extra args
259259
*/
260-
lib.simpleMap = function(array, func, x1, x2) {
260+
lib.simpleMap = function(array, func, x1, x2, opts) {
261261
var len = array.length;
262262
var out = new Array(len);
263-
for(var i = 0; i < len; i++) out[i] = func(array[i], x1, x2);
263+
for(var i = 0; i < len; i++) out[i] = func(array[i], x1, x2, opts);
264264
return out;
265265
};
266266

src/plots/cartesian/axes.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -509,8 +509,8 @@ function autoShiftMonthBins(binStart, data, dtick, dataMin, calendar) {
509509
// ----------------------------------------------------
510510

511511
// ensure we have tick0, dtick, and tick rounding calculated
512-
axes.prepTicks = function(ax) {
513-
var rng = Lib.simpleMap(ax.range, ax.r2l);
512+
axes.prepTicks = function(ax, opts) {
513+
var rng = Lib.simpleMap(ax.range, ax.r2l, undefined, undefined, opts);
514514

515515
// calculate max number of (auto) ticks to display based on plot size
516516
if(ax.tickmode === 'auto' || !ax.dtick) {
@@ -563,16 +563,16 @@ axes.prepTicks = function(ax) {
563563
// if ticks are set to automatic, determine the right values (tick0,dtick)
564564
// in any case, set tickround to # of digits to round tick labels to,
565565
// or codes to this effect for log and date scales
566-
axes.calcTicks = function calcTicks(ax) {
567-
axes.prepTicks(ax);
568-
var rng = Lib.simpleMap(ax.range, ax.r2l);
566+
axes.calcTicks = function calcTicks(ax, opts) {
567+
axes.prepTicks(ax, opts);
568+
var rng = Lib.simpleMap(ax.range, ax.r2l, undefined, undefined, opts);
569569

570570
// now that we've figured out the auto values for formatting
571571
// in case we're missing some ticktext, we can break out for array ticks
572572
if(ax.tickmode === 'array') return arrayTicks(ax);
573573

574574
// find the first tick
575-
ax._tmin = axes.tickFirst(ax);
575+
ax._tmin = axes.tickFirst(ax, opts);
576576

577577
// add a tiny bit so we get ticks which may have rounded out
578578
var exRng = expandRange(rng);
@@ -962,9 +962,9 @@ axes.tickIncrement = function(x, dtick, axrev, calendar) {
962962
};
963963

964964
// calculate the first tick on an axis
965-
axes.tickFirst = function(ax) {
965+
axes.tickFirst = function(ax, opts) {
966966
var r2l = ax.r2l || Number;
967-
var rng = Lib.simpleMap(ax.range, r2l);
967+
var rng = Lib.simpleMap(ax.range, r2l, undefined, undefined, opts);
968968
var axrev = rng[1] < rng[0];
969969
var sRound = axrev ? Math.floor : Math.ceil;
970970
// add a tiny extra bit to make sure we get ticks

src/plots/gl3d/layout/tick_marks.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ function computeTickMarks(scene) {
6969
var nticks = axes.nticks || Lib.constrain((axes._length / 40), 4, 9);
7070
Axes.autoTicks(axes, Math.abs(axes.range[1] - axes.range[0]) / nticks);
7171
}
72-
var dataTicks = Axes.calcTicks(axes);
72+
var dataTicks = Axes.calcTicks(axes, { msUTC: true });
7373
for(var j = 0; j < dataTicks.length; ++j) {
7474
dataTicks[j].x = dataTicks[j].x * scene.dataScale[i];
7575

Loading
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"data": [{
3+
"type": "scatter3d",
4+
"x": ["1970-01-01 01:00:00", "1970-01-01 13:00:00"],
5+
"y": ["1970-01-01 01:00:00", "1970-01-01 02:00:00"],
6+
"z": ["1970-01-01 01:00:00", "1970-01-01 01:30:00"]
7+
}],
8+
"layout": {
9+
"width": 400,
10+
"height": 400,
11+
"margin": {
12+
"t": 10,
13+
"b": 10,
14+
"l": 10,
15+
"r": 10
16+
},
17+
"scene": {
18+
"xaxis": { "nticks": 12, "type": "date" },
19+
"yaxis": { "nticks": 12, "type": "date" },
20+
"zaxis": { "nticks": 12, "type": "date" },
21+
"camera": {
22+
"eye": { "x": 0.25, "y": 2.5, "z": 0.25 }
23+
}
24+
}
25+
}
26+
}

0 commit comments

Comments
 (0)