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

Skip to content

Commit d620255

Browse files
committed
time offset help display short time periods (hours) in gl3d plots
1 parent e8d300b commit d620255

File tree

6 files changed

+50
-5
lines changed

6 files changed

+50
-5
lines changed

src/plots/cartesian/set_convert.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,9 @@ module.exports = function setConvert(ax, fullLayout) {
9898
// same logic as in Lib.ms2DateTime
9999
var msecTenths = Math.floor(Lib.mod(v + 0.05, 1) * 10);
100100
var msRounded = Math.round(v - msecTenths / 10);
101-
ms = dateTime2ms(new Date(msRounded)) + msecTenths / 10;
101+
102+
var now = (new Date(msRounded)).getTime();
103+
ms = now + msecTenths / 10;
102104
}
103105
else return BADNUM;
104106
}
32.4 KB
Loading
21.7 KB
Loading
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"data": [
3+
{
4+
"type": "scattergl",
5+
"x": ["2020-01-01 01:00:00", "2020-01-01 13:00:00"],
6+
"y": ["2020-01-01 01:00:00", "2020-01-01 02:00:00"]
7+
}
8+
],
9+
"layout": {
10+
"title": "Day time period",
11+
"width": 800,
12+
"height": 600,
13+
"xaxis": { "nticks": 12, "type": "date" },
14+
"yaxis": { "nticks": 12, "type": "date" }
15+
}
16+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"data": [
3+
{
4+
"type": "scatter3d",
5+
"x": ["2020-01-01 01:00:00", "2020-01-01 13:00:00"],
6+
"y": ["2020-01-01 01:00:00", "2020-01-01 02:00:00"],
7+
"z": ["2020-01-01 01:00:00", "2020-01-01 01:30:00"]
8+
}
9+
],
10+
"layout": {
11+
"title": "Day time period",
12+
"width": 800,
13+
"height": 600,
14+
"scene": {
15+
"xaxis": { "nticks": 12, "type": "date" },
16+
"yaxis": { "nticks": 12, "type": "date" },
17+
"zaxis": { "nticks": 12, "type": "date" },
18+
"camera": {
19+
"eye": { "x": -2, "y": 0.5, "z": 1 },
20+
"center": { "x": 0, "y": 0, "z": 0 },
21+
"up": { "x": 0, "y": 0, "z": 1 }
22+
}
23+
}
24+
}
25+
}

test/jasmine/tests/axes_test.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ var failTest = require('../assets/fail_test');
2020
var selectButton = require('../assets/modebar_button');
2121
var supplyDefaults = require('../assets/supply_defaults');
2222

23+
var timeZoneMs = 60000 * (60 + new Date().getTimezoneOffset()); // TODO: find a good way to set CI clock.
24+
2325
describe('Test axes', function() {
2426
'use strict';
2527

@@ -2641,10 +2643,10 @@ describe('Test axes', function() {
26412643
tickmode: 'array',
26422644
tickvals: [
26432645
'2012-01-01',
2644-
new Date(2012, 2, 1).getTime(),
2646+
(new Date(2012, 2, 1).getTime()) - timeZoneMs,
26452647
'2012-08-01 00:00:00',
26462648
'2012-10-01 12:00:00',
2647-
new Date(2013, 0, 1, 0, 0, 1).getTime(),
2649+
(new Date(2013, 0, 1, 0, 0, 1).getTime()) - timeZoneMs,
26482650
'2010-01-01', '2014-01-01' // off the axis
26492651
],
26502652
// only the first two have text
@@ -3008,7 +3010,7 @@ describe('Test axes', function() {
30083010
});
30093011

30103012
it('- date case', function() {
3011-
var msLocal = new Date(2000, 0, 1).getTime();
3013+
var msLocal = (new Date(2000, 0, 1).getTime()) - timeZoneMs;
30123014
var msUTC = 946684800000;
30133015
var out = _makeCalcdata({
30143016
x: ['2000-01-01', NaN, null, msLocal],
@@ -3101,7 +3103,7 @@ describe('Test axes', function() {
31013103

31023104
it('- on a date axis', function() {
31033105
var dates = [[2000, 0, 1], [2001, 0, 1], [2002, 0, 1]]
3104-
.map(function(d) { return new Date(d[0], d[1], d[2]).getTime(); });
3106+
.map(function(d) { return (new Date(d[0], d[1], d[2]).getTime()) - timeZoneMs; });
31053107

31063108
// We could make this work down the road (in v2),
31073109
// when address our timezone problems.

0 commit comments

Comments
 (0)