From e6705f693b120348f57990939604a4ce1eeff04e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Mon, 30 Jul 2018 10:54:41 -0400 Subject: [PATCH 1/2] fix and :lock: 'yaxis-over-yaxis2' behavior --- src/plots/cartesian/index.js | 27 +++++-- test/image/baselines/yaxis-over-yaxis2.png | Bin 0 -> 25632 bytes test/image/mocks/yaxis-over-yaxis2.json | 80 +++++++++++++++++++++ 3 files changed, 100 insertions(+), 7 deletions(-) create mode 100644 test/image/baselines/yaxis-over-yaxis2.png create mode 100644 test/image/mocks/yaxis-over-yaxis2.json diff --git a/src/plots/cartesian/index.js b/src/plots/cartesian/index.js index 6c05c3d3bcf..f70bdd93d10 100644 --- a/src/plots/cartesian/index.js +++ b/src/plots/cartesian/index.js @@ -392,9 +392,12 @@ function makeSubplotData(gd) { var fullLayout = gd._fullLayout; var ids = fullLayout._subplots.cartesian; var len = ids.length; - var subplotData = new Array(len); var i, j, id, plotinfo, xa, ya; + // split 'regular' and 'overlaying' subplots + var regulars = []; + var overlays = []; + for(i = 0; i < len; i++) { id = ids[i]; plotinfo = fullLayout._plots[id]; @@ -408,25 +411,35 @@ function makeSubplotData(gd) { plotinfo.overlays = []; if(mainplot !== id && mainplotinfo) { - // link 'main plot' ref in overlaying plotinfo plotinfo.mainplot = mainplot; plotinfo.mainplotinfo = mainplotinfo; - // fill in list of overlaying subplots in 'main plot' - mainplotinfo.overlays.push(plotinfo); + overlays.push(id); } else { plotinfo.mainplot = undefined; plotinfo.mainPlotinfo = undefined; + regulars.push(id); } } - // use info about axis layer and overlaying pattern - // to clean what need to be cleaned up in exit selection + // fill in list of overlaying subplots in 'main plot' + for(i = 0; i < overlays.length; i++) { + id = overlays[i]; + plotinfo = fullLayout._plots[id]; + plotinfo.mainplotinfo.overlays.push(plotinfo); + } + + // put 'regular' subplot data before 'overlaying' + var subplotData = new Array(len); + var list = regulars.concat(overlays); + for(i = 0; i < len; i++) { - id = ids[i]; + id = list[i]; plotinfo = fullLayout._plots[id]; xa = plotinfo.xaxis; ya = plotinfo.yaxis; + // use info about axis layer and overlaying pattern + // to clean what need to be cleaned up in exit selection var d = [id, xa.layer, ya.layer, xa.overlaying || '', ya.overlaying || '']; for(j = 0; j < plotinfo.overlays.length; j++) { d.push(plotinfo.overlays[j].id); diff --git a/test/image/baselines/yaxis-over-yaxis2.png b/test/image/baselines/yaxis-over-yaxis2.png new file mode 100644 index 0000000000000000000000000000000000000000..b13b35cb91363c1ba5447a38bc64b376e3a9e8af GIT binary patch literal 25632 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 literal 0 HcmV?d00001 diff --git a/test/image/mocks/yaxis-over-yaxis2.json b/test/image/mocks/yaxis-over-yaxis2.json new file mode 100644 index 00000000000..31241309368 --- /dev/null +++ b/test/image/mocks/yaxis-over-yaxis2.json @@ -0,0 +1,80 @@ +{ + "data": [ + { + "x": [ + "2018-05-09 11:33:32.330", + "2018-05-09 11:33:32.367", + "2018-05-09 11:33:32.367", + "2018-05-09 11:33:32.374", + "2018-05-09 11:33:32.379" + ], + "y": [ + 1.2, + 1.3, + 1.1, + 1.4, + 0.9 + ], + "mode": "lines", + "name": "Reference Bid", + "line": { + "shape": "hv", + "dash": "solid" + }, + "fill": "none" + }, + { + "x": [ + "2018-05-09 11:33:32.330", + "2018-05-09 11:33:32.367", + "2018-05-09 11:33:32.367", + "2018-05-09 11:33:32.374", + "2018-05-09 11:33:32.379" + ], + "y": [ + 0, + 0.2, + 0.4, + 0.6, + 1 + ], + "mode": "lines", + "name": "y2", + "yaxis": "y2", + "line": { + "shape": "vh", + "dash": "solid" + }, + "fill": "tozeroy", + "marker": { + "color": "rgba(168, 216, 234, 0.5)" + } + } + ], + "layout": { + "margin": { + "b": 100, + "l": 120, + "t": 25, + "r": 10, + "pad": 10 + }, + "xaxis": { + "title": "x1" + }, + "yaxis": { + "title": "y1", + "overlaying": "y2" + }, + "yaxis2": { + "side": "right", + "title": "y2" + }, + "legend": { + "x": 1.1, + "y": 1 + }, + "hovermode": "closest", + "dragmode": "zoom" + } +} From ee2ac26d55758b10a8fcba519c43b3bec44862aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Mon, 30 Jul 2018 11:15:45 -0400 Subject: [PATCH 2/2] rename 'list' -> 'subplotIds' --- src/plots/cartesian/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plots/cartesian/index.js b/src/plots/cartesian/index.js index f70bdd93d10..27fd500e479 100644 --- a/src/plots/cartesian/index.js +++ b/src/plots/cartesian/index.js @@ -429,11 +429,11 @@ function makeSubplotData(gd) { } // put 'regular' subplot data before 'overlaying' + var subplotIds = regulars.concat(overlays); var subplotData = new Array(len); - var list = regulars.concat(overlays); for(i = 0; i < len; i++) { - id = list[i]; + id = subplotIds[i]; plotinfo = fullLayout._plots[id]; xa = plotinfo.xaxis; ya = plotinfo.yaxis;