From af9285a4fd6db073b1395b03464f13e800274261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Thu, 24 Nov 2016 14:16:53 -0500 Subject: [PATCH 1/6] add heatmapgl to main bundle --- lib/index.js | 1 + src/traces/heatmapgl/index.js | 2 +- test/jasmine/tests/gl2d_scatterplot_contour_test.js | 3 +-- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/index.js b/lib/index.js index c578165aadd..ea309cde21a 100644 --- a/lib/index.js +++ b/lib/index.js @@ -31,6 +31,7 @@ Plotly.register([ require('./scattergl'), require('./pointcloud'), + require('./heatmapgl'), require('./scattermapbox'), diff --git a/src/traces/heatmapgl/index.js b/src/traces/heatmapgl/index.js index f8789310196..4d1c9e5e5cf 100644 --- a/src/traces/heatmapgl/index.js +++ b/src/traces/heatmapgl/index.js @@ -24,7 +24,7 @@ HeatmapGl.basePlotModule = require('../../plots/gl2d'); HeatmapGl.categories = ['gl2d', '2dMap']; HeatmapGl.meta = { description: [ - 'WebGL heatmap (beta)' + 'WebGL version of the heatmap trace type.' ].join(' ') }; diff --git a/test/jasmine/tests/gl2d_scatterplot_contour_test.js b/test/jasmine/tests/gl2d_scatterplot_contour_test.js index 2c6b34d5255..b0c65b9fda2 100644 --- a/test/jasmine/tests/gl2d_scatterplot_contour_test.js +++ b/test/jasmine/tests/gl2d_scatterplot_contour_test.js @@ -4,9 +4,8 @@ var Plotly = require('@lib/index'); var Lib = require('@src/lib'); var d3 = require('d3'); -// heatmapgl & contourgl is not part of the dist plotly.js bundle initially +// contourgl is not part of the dist plotly.js bundle initially Plotly.register([ - require('@lib/heatmapgl'), require('@lib/contourgl') ]); From 879bb7e929e6145d02e7579f5ebf7f2f5d7f0c29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Thu, 24 Nov 2016 14:17:15 -0500 Subject: [PATCH 2/6] fixup gl2d click test - so that it registers contourgl --- test/jasmine/tests/gl2d_click_test.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/jasmine/tests/gl2d_click_test.js b/test/jasmine/tests/gl2d_click_test.js index dd499dd6870..8e001d55873 100644 --- a/test/jasmine/tests/gl2d_click_test.js +++ b/test/jasmine/tests/gl2d_click_test.js @@ -12,6 +12,11 @@ var hasWebGLSupport = require('../assets/has_webgl_support'); var click = require('../assets/timed_click'); var hover = require('../assets/hover'); +// contourgl is not part of the dist plotly.js bundle initially +Plotly.register([ + require('@lib/contourgl') +]); + describe('Test hover and click interactions', function() { if(!hasWebGLSupport('gl2d_click_test')) return; From 731b294a1c2f3fb4895d220060ad9840b117ce67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Thu, 24 Nov 2016 14:18:27 -0500 Subject: [PATCH 3/6] write own heatmapgl attributes - instead of simply copying attribute from 'heatmap' - attribute like 'zsmooth', 'xgap' and 'connectgaps' aren't available in 'heatmapgl' --- src/traces/heatmapgl/attributes.js | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/traces/heatmapgl/attributes.js b/src/traces/heatmapgl/attributes.js index e00fd49a1ab..23617d4f332 100644 --- a/src/traces/heatmapgl/attributes.js +++ b/src/traces/heatmapgl/attributes.js @@ -10,5 +10,31 @@ var heatmapAttrs = require('../scatter/attributes'); +var colorscaleAttrs = require('../../components/colorscale/attributes'); +var colorbarAttrs = require('../../components/colorbar/attributes'); -module.exports = heatmapAttrs; +var extendFlat = require('../../lib/extend').extendFlat; + +var commonList = [ + 'z', + 'x', 'x0', 'dx', + 'y', 'y0', 'dy', + 'text', 'transpose', + 'xtype', 'ytype' +]; + +var attrs = {}; + +for(var i = 0; i < commonList.length; i++) { + var k = commonList[i]; + attrs[k] = heatmapAttrs[k]; +} + +extendFlat( + attrs, + colorscaleAttrs, + { autocolorscale: extendFlat({}, colorscaleAttrs.autocolorscale, {dflt: false}) }, + { colorbar: colorbarAttrs } +); + +module.exports = attrs; From c9a52872871727d493f69489786ca37a7b889503 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Thu, 24 Nov 2016 14:18:44 -0500 Subject: [PATCH 4/6] test: add gl2d heatmap mock --- test/image/baselines/gl2d_heatmapgl.png | Bin 0 -> 69717 bytes test/image/mocks/gl2d_heatmapgl.json | 134 ++++++++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 test/image/baselines/gl2d_heatmapgl.png create mode 100644 test/image/mocks/gl2d_heatmapgl.json diff --git a/test/image/baselines/gl2d_heatmapgl.png b/test/image/baselines/gl2d_heatmapgl.png new file mode 100644 index 0000000000000000000000000000000000000000..7ce040664893e613dca54afb6f60a8cb31581e4d GIT binary patch literal 69717 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 literal 0 HcmV?d00001 diff --git a/test/image/mocks/gl2d_heatmapgl.json b/test/image/mocks/gl2d_heatmapgl.json new file mode 100644 index 00000000000..768a74dead4 --- /dev/null +++ b/test/image/mocks/gl2d_heatmapgl.json @@ -0,0 +1,134 @@ +{ + "data": [ + { + "type": "heatmapgl", + "z": [ + [ + 125, + 106, + 89, + 74, + 61, + 50, + 41, + 34, + 29, + 26 + ], + [ + 116, + 97, + 80, + 65, + 52, + 41, + 32, + 25, + 20, + 17 + ], + [ + 109, + 90, + 73, + 58, + 45, + 34, + 25, + 18, + 13, + 10 + ], + [ + 104, + 85, + 68, + 53, + 40, + 29, + 20, + 13, + 8, + 5 + ], + [ + 101, + 82, + 65, + 50, + 37, + 26, + 17, + 10, + 5, + 2 + ], + [ + 100, + 81, + 64, + 49, + 36, + 25, + 16, + 9, + 4, + 1 + ], + [ + 101, + 82, + 65, + 50, + 37, + 26, + 17, + 10, + 5, + 2 + ], + [ + 104, + 85, + 68, + 53, + 40, + 29, + 20, + 13, + 8, + 5 + ], + [ + 109, + 90, + 73, + 58, + 45, + 34, + 25, + 18, + 13, + 10 + ], + [ + 116, + 97, + 80, + 65, + 52, + 41, + 32, + 25, + 20, + 17 + ] + ], + "colorscale": "Viridis" + } + ], + "layout": { + "height": 450, + "width": 550 + } +} From 25f4ed8d4222e9d152ab6d1acd5788fcd51dccc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Thu, 24 Nov 2016 14:20:38 -0500 Subject: [PATCH 5/6] use dfcreative's gl-heatmap2d version - from https://github.com/gl-vis/gl-heatmap2d/pull/2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 35519ce3b9e..2664a632134 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "gl-contour2d": "^1.1.2", "gl-error2d": "^1.2.1", "gl-error3d": "^1.0.0", - "gl-heatmap2d": "^1.0.2", + "gl-heatmap2d": "git://github.com/gl-vis/gl-heatmap2d.git#04cae767bf14444fe236369011e1c414509ea533", "gl-line2d": "^1.4.1", "gl-line3d": "^1.1.0", "gl-mat4": "^1.1.2", From c8d2076703df37ba897e55476dc21bf9fe997dc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Tue, 29 Nov 2016 15:16:42 -0500 Subject: [PATCH 6/6] bump gl-heatmap2d to 1.0.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2664a632134..17515ba7a89 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "gl-contour2d": "^1.1.2", "gl-error2d": "^1.2.1", "gl-error3d": "^1.0.0", - "gl-heatmap2d": "git://github.com/gl-vis/gl-heatmap2d.git#04cae767bf14444fe236369011e1c414509ea533", + "gl-heatmap2d": "^1.0.3", "gl-line2d": "^1.4.1", "gl-line3d": "^1.1.0", "gl-mat4": "^1.1.2",