diff --git a/src/lib/index.js b/src/lib/index.js index 9c3d46c7841..e4652691f8b 100644 --- a/src/lib/index.js +++ b/src/lib/index.js @@ -644,7 +644,13 @@ lib.minExtend = function(obj1, obj2) { v = obj1[k]; if(k.charAt(0) === '_' || typeof v === 'function') continue; else if(k === 'module') objOut[k] = v; - else if(Array.isArray(v)) objOut[k] = v.slice(0, arrayLen); + else if(Array.isArray(v)) { + if(k === 'colorscale') { + objOut[k] = v.slice(); + } else { + objOut[k] = v.slice(0, arrayLen); + } + } else if(v && (typeof v === 'object')) objOut[k] = lib.minExtend(obj1[k], obj2[k]); else objOut[k] = v; } diff --git a/test/image/baselines/gl3d_scatter-colorscale-marker.png b/test/image/baselines/gl3d_scatter-colorscale-marker.png index 4ab993a41a3..1447f230729 100644 Binary files a/test/image/baselines/gl3d_scatter-colorscale-marker.png and b/test/image/baselines/gl3d_scatter-colorscale-marker.png differ