From 37ee992cefc2a45b4697c1aff4ae9fb5d355865a Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Wed, 12 Sep 2018 18:31:05 -0400 Subject: [PATCH 1/4] fix #3003 - fill and layering for multiple stackgroups and unstacked scatter traces --- src/traces/scatter/calc.js | 12 +++- src/traces/scatter/link_traces.js | 59 +++++++++++++++++-- src/traces/scatter/plot.js | 30 +++------- test/image/baselines/stacked_area_groups.png | Bin 0 -> 33833 bytes test/image/mocks/stacked_area_groups.json | 51 ++++++++++++++++ 5 files changed, 121 insertions(+), 31 deletions(-) create mode 100644 test/image/baselines/stacked_area_groups.png create mode 100644 test/image/mocks/stacked_area_groups.json diff --git a/src/traces/scatter/calc.js b/src/traces/scatter/calc.js index 2ff8728073c..d04c62ca541 100644 --- a/src/traces/scatter/calc.js +++ b/src/traces/scatter/calc.js @@ -153,7 +153,7 @@ function calcAxisExpansion(gd, trace, xa, ya, x, y, ppad) { var fullLayout = gd._fullLayout; var xId = xa._id; var yId = ya._id; - var firstScatter = fullLayout._firstScatter[xId + yId + trace.type] === trace.uid; + var firstScatter = fullLayout._firstScatter[firstScatterGroup(trace)] === trace.uid; var stackOrientation = (getStackOpts(trace, fullLayout, xa, ya) || {}).orientation; var fill = trace.fill; @@ -257,9 +257,15 @@ function calcMarkerSize(trace, serieslen) { * per-trace calc this will get confused. */ function setFirstScatter(fullLayout, trace) { - var subplotAndType = trace.xaxis + trace.yaxis + trace.type; + var group = firstScatterGroup(trace); var firstScatter = fullLayout._firstScatter; - if(!firstScatter[subplotAndType]) firstScatter[subplotAndType] = trace.uid; + if(!firstScatter[group]) firstScatter[group] = trace.uid; +} + +function firstScatterGroup(trace) { + var stackGroup = trace.stackgroup; + return trace.xaxis + trace.yaxis + trace.type + + (stackGroup ? '-' + stackGroup : ''); } function getStackOpts(trace, fullLayout, xa, ya) { diff --git a/src/traces/scatter/link_traces.js b/src/traces/scatter/link_traces.js index d51c8f2c7a8..3b3741c9ed1 100644 --- a/src/traces/scatter/link_traces.js +++ b/src/traces/scatter/link_traces.js @@ -8,12 +8,56 @@ 'use strict'; +var LINKEDFILLS = {tonextx: 1, tonexty: 1, tonext: 1}; + module.exports = function linkTraces(gd, plotinfo, cdscatter) { - var trace, i; - var prevtrace = null; + var trace, i, group, prevtrace, groupIndex; - for(i = 0; i < cdscatter.length; ++i) { + // first sort traces to keep stacks & filled-together groups together + var groupIndices = {}; + var needsSort = false; + var prevGroupIndex = -1; + var nextGroupIndex = 0; + var prevUnstackedGroupIndex = -1; + for(i = 0; i < cdscatter.length; i++) { trace = cdscatter[i][0].trace; + group = trace.stackgroup || ''; + if(group) { + if(group in groupIndices) { + groupIndex = groupIndices[group]; + } + else { + groupIndex = groupIndices[group] = nextGroupIndex; + nextGroupIndex++; + } + } + else if(trace.fill in LINKEDFILLS && prevUnstackedGroupIndex >= 0) { + groupIndex = prevUnstackedGroupIndex; + } + else { + groupIndex = prevUnstackedGroupIndex = nextGroupIndex; + nextGroupIndex++; + } + + if(groupIndex < prevGroupIndex) needsSort = true; + trace._groupIndex = prevGroupIndex = groupIndex; + } + + var cdscatterSorted = cdscatter.slice(); + if(needsSort) { + cdscatterSorted.sort(function(a, b) { + var traceA = a[0].trace; + var traceB = b[0].trace; + return (traceA._groupIndex - traceB._groupIndex) || + (traceA.index - traceB.index); + }); + } + + // now link traces to each other + var prevtraces = {}; + for(i = 0; i < cdscatterSorted.length; i++) { + trace = cdscatterSorted[i][0].trace; + group = trace.stackgroup || ''; // Note: The check which ensures all cdscatter here are for the same axis and // are either cartesian or scatterternary has been removed. This code assumes @@ -22,17 +66,20 @@ module.exports = function linkTraces(gd, plotinfo, cdscatter) { if(trace.visible === true) { trace._nexttrace = null; - if(['tonextx', 'tonexty', 'tonext'].indexOf(trace.fill) !== -1) { - trace._prevtrace = prevtrace; + if(trace.fill in LINKEDFILLS) { + prevtrace = prevtraces[group]; + trace._prevtrace = prevtrace || null; if(prevtrace) { prevtrace._nexttrace = trace; } } - prevtrace = trace; + prevtraces[group] = trace; } else { trace._prevtrace = trace._nexttrace = null; } } + + return cdscatterSorted; }; diff --git a/src/traces/scatter/plot.js b/src/traces/scatter/plot.js index f881a5f6223..a9f72267fd3 100644 --- a/src/traces/scatter/plot.js +++ b/src/traces/scatter/plot.js @@ -23,15 +23,18 @@ var linkTraces = require('./link_traces'); var polygonTester = require('../../lib/polygon').tester; module.exports = function plot(gd, plotinfo, cdscatter, scatterLayer, transitionOpts, makeOnCompleteCallback) { - var i, uids, join, onComplete; + var join, onComplete; // If transition config is provided, then it is only a partial replot and traces not // updated are removed. var isFullReplot = !transitionOpts; var hasTransition = !!transitionOpts && transitionOpts.duration > 0; + // Link traces so the z-order of fill layers is correct + var cdscatterSorted = linkTraces(gd, plotinfo, cdscatter); + join = scatterLayer.selectAll('g.trace') - .data(cdscatter, function(d) { return d[0].trace.uid; }); + .data(cdscatterSorted, function(d) { return d[0].trace.uid; }); // Append new traces: join.enter().append('g') @@ -39,27 +42,10 @@ module.exports = function plot(gd, plotinfo, cdscatter, scatterLayer, transition return 'trace scatter trace' + d[0].trace.uid; }) .style('stroke-miterlimit', 2); - - // After the elements are created but before they've been draw, we have to perform - // this extra step of linking the traces. This allows appending of fill layers so that - // the z-order of fill layers is correct. - linkTraces(gd, plotinfo, cdscatter); + join.order(); createFills(gd, join, plotinfo); - // Sort the traces, once created, so that the ordering is preserved even when traces - // are shown and hidden. This is needed since we're not just wiping everything out - // and recreating on every update. - for(i = 0, uids = {}; i < cdscatter.length; i++) { - uids[cdscatter[i][0].trace.uid] = i; - } - - join.sort(function(a, b) { - var idx1 = uids[a[0].trace.uid]; - var idx2 = uids[b[0].trace.uid]; - return idx1 - idx2; - }); - if(hasTransition) { if(makeOnCompleteCallback) { // If it was passed a callback to register completion, make a callback. If @@ -82,12 +68,12 @@ module.exports = function plot(gd, plotinfo, cdscatter, scatterLayer, transition // Must run the selection again since otherwise enters/updates get grouped together // and these get executed out of order. Except we need them in order! scatterLayer.selectAll('g.trace').each(function(d, i) { - plotOne(gd, i, plotinfo, d, cdscatter, this, transitionOpts); + plotOne(gd, i, plotinfo, d, cdscatterSorted, this, transitionOpts); }); }); } else { scatterLayer.selectAll('g.trace').each(function(d, i) { - plotOne(gd, i, plotinfo, d, cdscatter, this, transitionOpts); + plotOne(gd, i, plotinfo, d, cdscatterSorted, this, transitionOpts); }); } diff --git a/test/image/baselines/stacked_area_groups.png b/test/image/baselines/stacked_area_groups.png new file mode 100644 index 0000000000000000000000000000000000000000..3a4a28624a70f72d5a88c535aad35abcfd9cfbb5 GIT binary patch literal 33833 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 G``-ZbwWF&5 literal 0 HcmV?d00001 diff --git a/test/image/mocks/stacked_area_groups.json b/test/image/mocks/stacked_area_groups.json new file mode 100644 index 00000000000..691e382da21 --- /dev/null +++ b/test/image/mocks/stacked_area_groups.json @@ -0,0 +1,51 @@ +{ + "data": [ + { + "x": [0, 2, 4], "y": [6, 1, 6], "line": {"color": "#000"}, + "name": "bottom", "legendgroup": "l" + }, { + "x0": -0.5, "y": [1, 2, 3, 4, 5], "name": "a 1", + "stackgroup": "a", "legendgroup": "a", + "line": {"color": "#f00"}, "fillcolor": "rgba(255,0,0,0.8)" + }, { + "x0": 0.5, "y": [5, 4, 3, 2, 1], "name": "b 1", + "stackgroup": "b", "legendgroup": "b", + "line": {"color": "#00f"}, "fillcolor": "rgba(0,0,255,0.8)" + }, { + "x0": -0.5, "y": [1, 1, 1, 1, 1], "name": "a 2", + "stackgroup": "a", "legendgroup": "a", + "line": {"color": "#f80"}, "fillcolor": "rgba(255,136,0,0.8)" + }, { + "x0": 1, "y": [1, 2, 1], "name": "unstacked 1", + "fill": "tozeroy", "legendgroup": "u", + "line": {"color": "#888"}, "fillcolor": "rgba(136,136,136,0.8)" + }, { + "x0": -0.5, "y": [1, 1, 1, 1, 1], "name": "a 3", + "stackgroup": "a", "legendgroup": "a", + "line": {"color": "#ff0"}, "fillcolor": "rgba(255,255,0,0.8)" + }, { + "x0": 0.5, "y": [1, 1, 1, 1, 1], "name": "b 2", + "stackgroup": "b", "legendgroup": "b", + "line": {"color": "#80f"}, "fillcolor": "rgba(136,0,255,0.8)" + }, { + "x0": 1, "y": [5, 8, 5], "name": "unstacked 2", + "fill": "tonexty", "legendgroup": "u", + "line": {"color": "#ccc"}, "fillcolor": "rgba(204,204,204,0.8)" + }, { + "x": [0, 2, 4], "y": [7, 3, 7], "line": {"color": "#0c0"}, + "name": "top", "legendgroup": "l" + }, { + "x0": 0.5, "y": [1, 1, 1, 1, 1], "name": "b 3", + "stackgroup": "b", "legendgroup": "b", + "line": {"color": "#f0f"}, "fillcolor": "rgba(255,0,255,0.8)" + } + ], + "layout": { + "width": 500, + "height": 500, + "title": "Stack groups and unstacked filled traces", + "xaxis": {"title": "infer zero"}, + "xaxis2": {"title": "interpolate"}, + "grid": {"columns": 1, "rows": 2, "pattern": "independent"} + } +} From f6c5d561d3da3929ba171b1194ccc2e8056c1b61 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Wed, 12 Sep 2018 23:13:31 -0400 Subject: [PATCH 2/4] fix #3002 - allow deleting stack groups and along the way speed up trace deletion in general, by not redrawing all the points in the deleted trace immediately before removing them! --- src/traces/scatter/plot.js | 2 +- test/jasmine/tests/scatter_test.js | 33 ++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/traces/scatter/plot.js b/src/traces/scatter/plot.js index a9f72267fd3..d4b3c61f921 100644 --- a/src/traces/scatter/plot.js +++ b/src/traces/scatter/plot.js @@ -72,7 +72,7 @@ module.exports = function plot(gd, plotinfo, cdscatter, scatterLayer, transition }); }); } else { - scatterLayer.selectAll('g.trace').each(function(d, i) { + join.each(function(d, i) { plotOne(gd, i, plotinfo, d, cdscatterSorted, this, transitionOpts); }); } diff --git a/test/jasmine/tests/scatter_test.js b/test/jasmine/tests/scatter_test.js index a49b8a69c3e..ff049278ffb 100644 --- a/test/jasmine/tests/scatter_test.js +++ b/test/jasmine/tests/scatter_test.js @@ -1184,6 +1184,39 @@ describe('stacked area', function() { .then(done); }); + it('can add/delete stack groups', function(done) { + var data01 = [ + {mode: 'markers', y: [1, 2, -1, 2, 1], stackgroup: 'a'}, + {mode: 'markers', y: [2, 3, 2, 3, 2], stackgroup: 'b'} + ]; + var data0 = [Lib.extendDeep({}, data01[0])]; + var data1 = [Lib.extendDeep({}, data01[1])]; + + function _assert(yRange, nTraces) { + expect(gd._fullLayout.yaxis.range).toBeCloseToArray(yRange, 2); + expect(gd.querySelectorAll('g.trace.scatter').length).toBe(nTraces); + } + + Plotly.newPlot(gd, data01) + .then(function() { + _assert([-1.293, 3.293], 2); + return Plotly.react(gd, data0); + }) + .then(function() { + _assert([-1.220, 2.220], 1); + return Plotly.react(gd, data01); + }) + .then(function() { + _assert([-1.293, 3.293], 2); + return Plotly.react(gd, data1); + }) + .then(function() { + _assert([0, 3.205], 1); + }) + .catch(failTest) + .then(done); + }); + it('does not stack on date axes', function(done) { Plotly.newPlot(gd, [ {y: ['2016-01-01', '2017-01-01'], stackgroup: 'a'}, From fe0c988adfabf500961bb9a881b86c6b7c80d1c5 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 13 Sep 2018 18:32:37 -0400 Subject: [PATCH 3/4] describe fill reordering in scatter attributes --- src/traces/scatter/attributes.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/traces/scatter/attributes.js b/src/traces/scatter/attributes.js index 6c5c2edf7f3..d5359e90f75 100644 --- a/src/traces/scatter/attributes.js +++ b/src/traces/scatter/attributes.js @@ -85,7 +85,11 @@ module.exports = { 'stacked. Stacking also turns `fill` on by default, using *tonexty*', '(*tonextx*) if `orientation` is *h* (*v*) and sets the default', '`mode` to *lines* irrespective of point count.', - 'You can only stack on a numeric (linear or log) axis.' + 'You can only stack on a numeric (linear or log) axis.', + 'Traces in a `stackgroup` will only fill to (or be filled to) other', + 'traces in the same group. With multiple `stackgroup`s or some', + 'traces stacked and some not, if fill-linked traces are not already', + 'consecutive, the later ones will be pushed down in the drawing order.' ].join(' ') }, orientation: { @@ -299,7 +303,11 @@ module.exports = { '*tonext* fills the space between two traces if one completely', 'encloses the other (eg consecutive contour lines), and behaves like', '*toself* if there is no trace before it. *tonext* should not be', - 'used if one trace does not enclose the other.' + 'used if one trace does not enclose the other.', + 'Traces in a `stackgroup` will only fill to (or be filled to) other', + 'traces in the same group. With multiple `stackgroup`s or some', + 'traces stacked and some not, if fill-linked traces are not already', + 'consecutive, the later ones will be pushed down in the drawing order.' ].join(' ') }, fillcolor: { From 72c61c7bbfddf2857bd41a87e0e549d22ddcca0f Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 13 Sep 2018 23:16:14 -0400 Subject: [PATCH 4/4] clean cruft out of stacked_area_groups mock --- test/image/baselines/stacked_area_groups.png | Bin 33833 -> 41417 bytes test/image/mocks/stacked_area_groups.json | 7 ++----- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/test/image/baselines/stacked_area_groups.png b/test/image/baselines/stacked_area_groups.png index 3a4a28624a70f72d5a88c535aad35abcfd9cfbb5..01251d3e6f54e33695ec16cd0d363f26c3a25c34 100644 GIT binary patch literal 41417 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%0D4cPRz9PKv;McF?#q})ABJBs#c50c$NIk4pJ|_ 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 MiRB5Rk$dd_0j19+@&Et; literal 33833 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 G``-ZbwWF&5 diff --git a/test/image/mocks/stacked_area_groups.json b/test/image/mocks/stacked_area_groups.json index 691e382da21..11632cbc5a8 100644 --- a/test/image/mocks/stacked_area_groups.json +++ b/test/image/mocks/stacked_area_groups.json @@ -42,10 +42,7 @@ ], "layout": { "width": 500, - "height": 500, - "title": "Stack groups and unstacked filled traces", - "xaxis": {"title": "infer zero"}, - "xaxis2": {"title": "interpolate"}, - "grid": {"columns": 1, "rows": 2, "pattern": "independent"} + "height": 450, + "title": "Stack groups and unstacked filled traces" } }