From c7fccac0b0b3b972b80b91a8cfb7dc3b7bb9f518 Mon Sep 17 00:00:00 2001 From: archmoj Date: Sat, 5 Jan 2019 23:14:27 -0500 Subject: [PATCH 1/5] fix 3403 small domains added a new mock --- src/plots/cartesian/position_defaults.js | 2 +- .../mocks/heatmap_small_aspect-ratio.json | 70 +++++++++++++++++++ 2 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 test/image/mocks/heatmap_small_aspect-ratio.json diff --git a/src/plots/cartesian/position_defaults.js b/src/plots/cartesian/position_defaults.js index c999c576643..9de56443fdc 100644 --- a/src/plots/cartesian/position_defaults.js +++ b/src/plots/cartesian/position_defaults.js @@ -72,7 +72,7 @@ module.exports = function handlePositionDefaults(containerIn, containerOut, coer // in the axes popover to hide domain for the overlaying axis. // perhaps I should make a private version _domain that all axes get??? var domain = coerce('domain', dfltDomain); - if(domain[0] > domain[1] - 0.01) containerOut.domain = dfltDomain; + if(domain[0] > domain[1] - 0.001) containerOut.domain = dfltDomain; Lib.noneOrAll(containerIn.domain, containerOut.domain, dfltDomain); } diff --git a/test/image/mocks/heatmap_small_aspect-ratio.json b/test/image/mocks/heatmap_small_aspect-ratio.json new file mode 100644 index 00000000000..e801cc19e21 --- /dev/null +++ b/test/image/mocks/heatmap_small_aspect-ratio.json @@ -0,0 +1,70 @@ +{ + "data": [ + { + "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53 ], + "y": [ 0, 1 ], + "z": [ + [ 3.7658, 2.5011, 2.0717, 1.6752, 0.8733, 1.2222, 0.7331, 0.5498, -1.0785, -0.059, -0.5587, -0.5076, -0.5458, -1.1039, -0.8066, -1.4149, -0.9971, -0.8106, -0.7879, -0.184, 0.1769, -0.2717, 1.3303, 0.8172, 0.8381, 0.8871, 0.2036, 0.293, 0.548, 0.6277, 0.4906, 0.5462, -0.7781, -0.6629, -0.9717, -0.7959, -0.565, -0.4884, -0.3175, -0.5329, -0.8867, -0.84, -1.1034, -1.0113, -0.5979, -0.3069, -0.698, -0.3803, -0.4226, 0.3691, 0.1195, 0.087, -0.2156, -0.0252 ], + [ 0.1593, 0.479, 0.1225, 0.2636, 1.6744, 1.413, 0.9552, 0.4606, 3.1634, 1.5594, 1.4996, 1.5349, 1.574, 1.8937, 0.9506, 0.8693, -1.5682, -1.3773, -1.3742, -1.7599, -1.0759, -0.9985, -0.3828, -0.2164, -1.0315, -0.8436, -0.5653, -0.7393, -0.5814, -0.8789, -0.8505, -0.8635, -0.1919, -0.2593, -0.1742, 0.032, -0.8122, -0.7263, -0.6634, -0.474, -0.9601, -0.6542, -0.553, -0.4579, 0.6746, 0.5849, 0.3134, 0.249, 0.3188, 0.0872, -0.0814, -0.0393, -0.0385, 0.3602 ] + ], + "type": "heatmap", + "showscale": true, + "colorbar": { + "thicknessmode": "fraction", + "thickness": 0.01, + "lenmode": "fraction", + "len": 0.3, + "outlinecolor": "white", + "nticks": 2, + "ticklen": 0, + "tickvals": [ -1.7599, -0.2037, 3.7658 ], + "ticktext": [ "low", "median", "high" ], + "tickcolor": "black", + "tickfont": { + "family": "Dorid Sans", + "color": "black", + "size": 10 + } + }, + "colorscale": "Portland", + "showlegend": false, + "xaxis": "x", + "yaxis": "y", + "hoverinfo": "text", + "name": "", + "xgap": 1, + "ygap": 1, + "zmin": -1.7599, + "zmax": 3.7658, + "zauto": true + }, + { + "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53 ], + "y": [ 0, 1 ], + "z": [ + [ 3.7658, 2.5011, 2.0717, 1.6752, 0.8733, 1.2222, 0.7331, 0.5498, -1.0785, -0.059, -0.5587, -0.5076, -0.5458, -1.1039, -0.8066, -1.4149, -0.9971, -0.8106, -0.7879, -0.184, 0.1769, -0.2717, 1.3303, 0.8172, 0.8381, 0.8871, 0.2036, 0.293, 0.548, 0.6277, 0.4906, 0.5462, -0.7781, -0.6629, -0.9717, -0.7959, -0.565, -0.4884, -0.3175, -0.5329, -0.8867, -0.84, -1.1034, -1.0113, -0.5979, -0.3069, -0.698, -0.3803, -0.4226, 0.3691, 0.1195, 0.087, -0.2156, -0.0252 ], + [ 0.1593, 0.479, 0.1225, 0.2636, 1.6744, 1.413, 0.9552, 0.4606, 3.1634, 1.5594, 1.4996, 1.5349, 1.574, 1.8937, 0.9506, 0.8693, -1.5682, -1.3773, -1.3742, -1.7599, -1.0759, -0.9985, -0.3828, -0.2164, -1.0315, -0.8436, -0.5653, -0.7393, -0.5814, -0.8789, -0.8505, -0.8635, -0.1919, -0.2593, -0.1742, 0.032, -0.8122, -0.7263, -0.6634, -0.474, -0.9601, -0.6542, -0.553, -0.4579, 0.6746, 0.5849, 0.3134, 0.249, 0.3188, 0.0872, -0.0814, -0.0393, -0.0385, 0.3602 ] + ], + "type": "heatmap", + "showscale": false, + "xaxis": "x2", + "yaxis": "y2" + } + ] + ,"layout": { + "width": 600, + "height": 1200, + "xaxis": { + "domain": [ 0, 0.9 ] + }, + "yaxis": { + "domain": [ 0.5, 0.9 ] + }, + "xaxis2": { + "domain": [ 0.0, 0.9 ] + }, + "yaxis2": { + "domain": [ 0.445, 0.45 ] + } + } +} From 40f2a1c20cfc85c967eae71e3f3b0d0c4fae73d1 Mon Sep 17 00:00:00 2001 From: archmoj Date: Sat, 5 Jan 2019 23:26:03 -0500 Subject: [PATCH 2/5] new baseline --- .../baselines/heatmap_small_aspect-ratio.png | Bin 0 -> 33187 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/image/baselines/heatmap_small_aspect-ratio.png diff --git a/test/image/baselines/heatmap_small_aspect-ratio.png b/test/image/baselines/heatmap_small_aspect-ratio.png new file mode 100644 index 0000000000000000000000000000000000000000..847ac23550bff2c75d46d43a64ddc5288920370a GIT binary patch literal 33187 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 F{}(AF)?NSr literal 0 HcmV?d00001 From e8f8fd09e9a09b3249cb93ab72bed90cb3e93ba4 Mon Sep 17 00:00:00 2001 From: archmoj Date: Sun, 6 Jan 2019 21:10:23 -0500 Subject: [PATCH 3/5] apply a smaller const --- src/plots/cartesian/position_defaults.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plots/cartesian/position_defaults.js b/src/plots/cartesian/position_defaults.js index 9de56443fdc..825ed96dc70 100644 --- a/src/plots/cartesian/position_defaults.js +++ b/src/plots/cartesian/position_defaults.js @@ -72,7 +72,7 @@ module.exports = function handlePositionDefaults(containerIn, containerOut, coer // in the axes popover to hide domain for the overlaying axis. // perhaps I should make a private version _domain that all axes get??? var domain = coerce('domain', dfltDomain); - if(domain[0] > domain[1] - 0.001) containerOut.domain = dfltDomain; + if(domain[0] > domain[1] - (1 / 32768.0)) containerOut.domain = dfltDomain; Lib.noneOrAll(containerIn.domain, containerOut.domain, dfltDomain); } From a7c4485f78963c99fc8354b6f29493ee98aa9767 Mon Sep 17 00:00:00 2001 From: archmoj Date: Wed, 9 Jan 2019 15:37:17 -0500 Subject: [PATCH 4/5] using 4096 --- src/plots/cartesian/position_defaults.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plots/cartesian/position_defaults.js b/src/plots/cartesian/position_defaults.js index 825ed96dc70..947e2990af6 100644 --- a/src/plots/cartesian/position_defaults.js +++ b/src/plots/cartesian/position_defaults.js @@ -72,7 +72,7 @@ module.exports = function handlePositionDefaults(containerIn, containerOut, coer // in the axes popover to hide domain for the overlaying axis. // perhaps I should make a private version _domain that all axes get??? var domain = coerce('domain', dfltDomain); - if(domain[0] > domain[1] - (1 / 32768.0)) containerOut.domain = dfltDomain; + if(domain[0] > domain[1] - 1 / 4096) containerOut.domain = dfltDomain; Lib.noneOrAll(containerIn.domain, containerOut.domain, dfltDomain); } From 5da277884d7bfc53d71e7bac07b262deb62dcaf4 Mon Sep 17 00:00:00 2001 From: archmoj Date: Thu, 10 Jan 2019 09:38:02 -0500 Subject: [PATCH 5/5] added a comment to explain why 4096 may be a good const to apply --- src/plots/cartesian/position_defaults.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/plots/cartesian/position_defaults.js b/src/plots/cartesian/position_defaults.js index 947e2990af6..41a4ed24ec3 100644 --- a/src/plots/cartesian/position_defaults.js +++ b/src/plots/cartesian/position_defaults.js @@ -72,6 +72,10 @@ module.exports = function handlePositionDefaults(containerIn, containerOut, coer // in the axes popover to hide domain for the overlaying axis. // perhaps I should make a private version _domain that all axes get??? var domain = coerce('domain', dfltDomain); + + // according to https://www.npmjs.com/package/canvas-size + // the minimum value of max canvas width across browsers and devices is 4096 + // which applied in the calculation below: if(domain[0] > domain[1] - 1 / 4096) containerOut.domain = dfltDomain; Lib.noneOrAll(containerIn.domain, containerOut.domain, dfltDomain); }