From a6e90cb090d10e6fca60466d5c18818e80a5a097 Mon Sep 17 00:00:00 2001 From: Antoine Roy-Gobeil Date: Fri, 7 Sep 2018 15:57:42 -0400 Subject: [PATCH 1/2] sankey fix translateX for subplots --- src/traces/sankey/render.js | 2 +- test/image/mocks/sankey_subplots.json | 46 +++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 test/image/mocks/sankey_subplots.json diff --git a/src/traces/sankey/render.js b/src/traces/sankey/render.js index f084f46275a..530b7b95518 100644 --- a/src/traces/sankey/render.js +++ b/src/traces/sankey/render.js @@ -172,7 +172,7 @@ function sankeyModel(layout, d, traceIndex) { valueFormat: valueFormat, valueSuffix: valueSuffix, textFont: textFont, - translateX: domain.x[0] * width + layout.margin.l, + translateX: domain.x[0] * layout.width + layout.margin.l, translateY: layout.height - domain.y[1] * layout.height + layout.margin.t, dragParallel: horizontal ? height : width, dragPerpendicular: horizontal ? width : height, diff --git a/test/image/mocks/sankey_subplots.json b/test/image/mocks/sankey_subplots.json new file mode 100644 index 00000000000..fe20a584f86 --- /dev/null +++ b/test/image/mocks/sankey_subplots.json @@ -0,0 +1,46 @@ +{ + "data": [{ + "domain": { + "x": [0, 0.45] + }, + "type": "sankey", + "orientation": "h", + "node": { + "line": { + "color": "black" + }, + "label": ["el1", "el2", "el3"] + }, + "link": { + "source": [0, 2], + "target": [1, 1], + "value": [120, 50], + "label": ["stram1", "stream2"] + } + }, + { + "domain": { + "x": [0.55, 1] + }, + "type": "sankey", + "orientation": "h", + "node": { + "line": { + "color": "black" + }, + "label": ["el4", "el5", "el6"] + }, + "link": { + "source": [0, 2], + "target": [1, 1], + "value": [120, 50], + "label": ["stram4", "stream5"] + } + } + ], + "layout": { + "title": "Multiple Sankey plots", + "autosize": true, + "showlegend": false + } +} From 5dcdfb40de9a8468caaed170f19631e3ba4f8ded Mon Sep 17 00:00:00 2001 From: Antoine Roy-Gobeil Date: Fri, 7 Sep 2018 16:01:03 -0400 Subject: [PATCH 2/2] sankey add baseline for subplots positioning --- test/image/baselines/sankey_subplots.png | Bin 0 -> 19862 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/image/baselines/sankey_subplots.png diff --git a/test/image/baselines/sankey_subplots.png b/test/image/baselines/sankey_subplots.png new file mode 100644 index 0000000000000000000000000000000000000000..5034eade5472fe1e79b3e3c5d2d99d841a326a97 GIT binary patch literal 19862 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 literal 0 HcmV?d00001