diff --git a/src/plots/gl3d/scene.js b/src/plots/gl3d/scene.js index eb108e89899..3db6528f939 100644 --- a/src/plots/gl3d/scene.js +++ b/src/plots/gl3d/scene.js @@ -472,9 +472,9 @@ proto.plot = function(sceneData, fullLayout, layout) { sceneBounds[1][i] += d / 32.0; } } else { - var range = fullSceneLayout[axisProperties[i]].range; - sceneBounds[0][i] = range[0]; - sceneBounds[1][i] = range[1]; + var range = axis.range; + sceneBounds[0][i] = axis.r2l(range[0]); + sceneBounds[1][i] = axis.r2l(range[1]); } if(sceneBounds[0][i] === sceneBounds[1][i]) { sceneBounds[0][i] -= 1; diff --git a/test/image/baselines/gl3d_set-ranges.png b/test/image/baselines/gl3d_set-ranges.png new file mode 100644 index 00000000000..0a90ad42129 Binary files /dev/null and b/test/image/baselines/gl3d_set-ranges.png differ diff --git a/test/image/mocks/gl3d_set-ranges.json b/test/image/mocks/gl3d_set-ranges.json new file mode 100644 index 00000000000..4082306937b --- /dev/null +++ b/test/image/mocks/gl3d_set-ranges.json @@ -0,0 +1,29 @@ +{ + "data": [{ + "type": "scatter3d", + "x": ["2017-01-01", "2017-02-10", "2017-03-20"], + "y": ["A", "B", "C"], + "z": [1, 1e3, 1e5] + }], + "layout": { + "scene": { + "camera": { + "eye": {"x": 2.1, "y": 0.1, "z": 0.9} + }, + "xaxis": { + "title": "", + "range": ["2016-01-01", "2017-06-01"], + "dtick": "M4" + }, + "yaxis": { + "title": "", + "range": [-1, 3] + }, + "zaxis": { + "type": "log", + "title": "", + "range": [0, 4] + } + } + } +}