diff --git a/src/traces/scatter/clean_data.js b/src/traces/scatter/clean_data.js index 60ec2481e12..9508000e095 100644 --- a/src/traces/scatter/clean_data.js +++ b/src/traces/scatter/clean_data.js @@ -10,23 +10,21 @@ 'use strict'; +// remove opacity for any trace that has a fill or is filled to module.exports = function cleanData(fullData) { - var i, - tracei, - filli, - j, - tracej; - - // remove opacity for any trace that has a fill or is filled to - for(i = 0; i < fullData.length; i++) { - tracei = fullData[i]; - filli = tracei.fill; - if((filli === 'none') || (tracei.type !== 'scatter')) continue; + for(var i = 0; i < fullData.length; i++) { + var tracei = fullData[i]; + if(tracei.type !== 'scatter') continue; + + var filli = tracei.fill; + if(filli === 'none' || filli === 'toself') continue; + tracei.opacity = undefined; if(filli === 'tonexty' || filli === 'tonextx') { - for(j = i - 1; j >= 0; j--) { - tracej = fullData[j]; + for(var j = i - 1; j >= 0; j--) { + var tracej = fullData[j]; + if((tracej.type === 'scatter') && (tracej.xaxis === tracei.xaxis) && (tracej.yaxis === tracei.yaxis)) { diff --git a/test/image/baselines/scatter_fill_self_opacity.png b/test/image/baselines/scatter_fill_self_opacity.png new file mode 100644 index 00000000000..27dd39f42b6 Binary files /dev/null and b/test/image/baselines/scatter_fill_self_opacity.png differ diff --git a/test/image/mocks/scatter_fill_self_opacity.json b/test/image/mocks/scatter_fill_self_opacity.json new file mode 100644 index 00000000000..4faaebc9308 --- /dev/null +++ b/test/image/mocks/scatter_fill_self_opacity.json @@ -0,0 +1,21 @@ +{ + "data": [ + { + "x": [ + 6, + 7, + 8 + ], + "y": [ + 5, + 6, + 5 + ], + "fill": "toself", + "opacity": 0.3 + } + ], + "layout": { + "title": "toself fill with opacity" + } +}