From eef1049c21a5a138e022d88e509a596adc3ec5ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Tue, 15 Oct 2019 15:18:10 -0400 Subject: [PATCH 1/3] use `var gs` in pie/plot.js --- src/traces/pie/plot.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/traces/pie/plot.js b/src/traces/pie/plot.js index 96d39004028..85832e5fa77 100644 --- a/src/traces/pie/plot.js +++ b/src/traces/pie/plot.js @@ -22,9 +22,10 @@ var isValidTextValue = require('../../lib').isValidTextValue; function plot(gd, cdModule) { var fullLayout = gd._fullLayout; + var gs = fullLayout._size; prerenderTitles(cdModule, gd); - layoutAreas(cdModule, fullLayout._size); + layoutAreas(cdModule, gs); var plotGroups = Lib.makeTraceGroups(fullLayout._pielayer, cdModule, 'trace').each(function(cd) { var plotGroup = d3.select(this); @@ -228,7 +229,7 @@ function plot(gd, cdModule) { if(trace.title.position === 'middle center') { transform = positionTitleInside(cd0); } else { - transform = positionTitleOutside(cd0, fullLayout._size); + transform = positionTitleOutside(cd0, gs); } titleText.attr('transform', From 26c6fc49497f3de55e2919a5dd93fab74327a8b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Tue, 15 Oct 2019 15:19:04 -0400 Subject: [PATCH 2/3] add `automargin` to pie traces .. with a couple jasmine tests --- src/plot_api/plot_api.js | 11 +++++ src/traces/pie/attributes.js | 9 ++++ src/traces/pie/defaults.js | 6 +++ src/traces/pie/plot.js | 26 ++++++++++ test/jasmine/tests/pie_test.js | 90 ++++++++++++++++++++++++++++++++++ 5 files changed, 142 insertions(+) diff --git a/src/plot_api/plot_api.js b/src/plot_api/plot_api.js index fcc44024ba0..b675866b517 100644 --- a/src/plot_api/plot_api.js +++ b/src/plot_api/plot_api.js @@ -290,6 +290,17 @@ function plot(gd, data, layout, config) { subroutines.drawMarginPushers(gd); Axes.allowAutoMargin(gd); + // TODO can this be moved elsewhere? + if(fullLayout._has('pie')) { + var fullData = gd._fullData; + for(var i = 0; i < fullData.length; i++) { + var trace = fullData[i]; + if(trace.type === 'pie' && trace.automargin) { + Plots.allowAutoMargin(gd, 'pie.' + trace.uid + '.automargin'); + } + } + } + Plots.doAutoMargin(gd); return Plots.previousPromises(gd); } diff --git a/src/traces/pie/attributes.js b/src/traces/pie/attributes.js index 04518282f6a..a1ec2203f6d 100644 --- a/src/traces/pie/attributes.js +++ b/src/traces/pie/attributes.js @@ -187,6 +187,15 @@ module.exports = { outsidetextfont: extendFlat({}, textFontAttrs, { description: 'Sets the font used for `textinfo` lying outside the sector.' }), + automargin: { + valType: 'boolean', + dflt: false, + role: 'info', + editType: 'plot', + description: [ + 'Determines whether outside text labels can push the margins.' + ].join(' ') + }, title: { text: { diff --git a/src/traces/pie/defaults.js b/src/traces/pie/defaults.js index c25b46b7671..0d7cfc47343 100644 --- a/src/traces/pie/defaults.js +++ b/src/traces/pie/defaults.js @@ -64,6 +64,12 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout moduleHasTextangle: false, moduleHasInsideanchor: false }); + + var hasBoth = Array.isArray(textposition) || textposition === 'auto'; + var hasOutside = hasBoth || textposition === 'outside'; + if(hasOutside) { + coerce('automargin'); + } } handleDomainDefaults(traceOut, layout, coerce); diff --git a/src/traces/pie/plot.js b/src/traces/pie/plot.js index 85832e5fa77..519c8d3a821 100644 --- a/src/traces/pie/plot.js +++ b/src/traces/pie/plot.js @@ -10,6 +10,7 @@ var d3 = require('d3'); +var Plots = require('../../plots/plots'); var Fx = require('../../components/fx'); var Color = require('../../components/color'); var Drawing = require('../../components/drawing'); @@ -242,6 +243,31 @@ function plot(gd, cdModule) { if(hasOutsideText) scootLabels(quadrants, trace); plotTextLines(slices, trace); + + if(hasOutsideText && trace.automargin) { + // TODO if we ever want to improve perf, + // we could reuse the textBB computed above together + // with the sliceText transform info + var traceBbox = Drawing.bBox(plotGroup.node()); + + var domain = trace.domain; + var vpw = gs.w * (domain.x[1] - domain.x[0]); + var vph = gs.h * (domain.y[1] - domain.y[0]); + var xgap = (0.5 * vpw - cd0.r) / gs.w; + var ygap = (0.5 * vph - cd0.r) / gs.h; + + Plots.autoMargin(gd, 'pie.' + trace.uid + '.automargin', { + xl: domain.x[0] - xgap, + xr: domain.x[1] + xgap, + yb: domain.y[0] - ygap, + yt: domain.y[1] + ygap, + l: Math.max(cd0.cx - cd0.r - traceBbox.left, 0), + r: Math.max(traceBbox.right - (cd0.cx + cd0.r), 0), + b: Math.max(traceBbox.bottom - (cd0.cy + cd0.r), 0), + t: Math.max(cd0.cy - cd0.r - traceBbox.top, 0), + pad: 5 + }); + } }); }); diff --git a/test/jasmine/tests/pie_test.js b/test/jasmine/tests/pie_test.js index 7cbe3941506..b8303f19897 100644 --- a/test/jasmine/tests/pie_test.js +++ b/test/jasmine/tests/pie_test.js @@ -72,6 +72,20 @@ describe('Pie defaults', function() { var out = _supply({type: 'pie', values: [1, 2], textfont: {color: 'blue'}}, {font: {color: 'red'}}); expect(out.insidetextfont.color).toBe('blue'); }); + + it('should only coerce *automargin* if there are outside labels', function() { + var out = _supply({type: 'pie', labels: ['A', 'B'], values: [1, 2], automargin: true}); + expect(out.automargin).toBe(true, 'dflt textposition'); + + var out2 = _supply({type: 'pie', labels: ['A', 'B'], values: [1, 2], automargin: true, textposition: 'inside'}); + expect(out2.automargin).toBe(undefined, 'textposition inside'); + + var out3 = _supply({type: 'pie', labels: ['A', 'B'], values: [1, 2], automargin: true, textposition: 'none'}); + expect(out3.automargin).toBe(undefined, 'textposition none'); + + var out4 = _supply({type: 'pie', labels: ['A', 'B'], values: [1, 2], automargin: true, textposition: 'outside'}); + expect(out4.automargin).toBe(true, 'textposition outside'); + }); }); describe('Pie traces', function() { @@ -864,6 +878,82 @@ describe('Pie traces', function() { .then(done); }); + it('should grow and shrink margins under *automargin:true*', function(done) { + var data = [{ + type: 'pie', + values: [1, 2, 3, 4, 5], + labels: ['apples', 'oranges', 'blueberries', 'lemons', 'watermelon'], + textinfo: 'label+text+value+percent', + textposition: 'outside', + automargin: false + }]; + var layout = { + width: 400, height: 400, + margin: {t: 0, b: 0, l: 0, r: 0}, + showlegend: false + }; + + var previousSize; + function assertSize(msg, actual, exp) { + for(var k in exp) { + var parts = exp[k].split('|'); + var op = parts[0]; + + var method = { + '=': 'toBe', + '~=': 'toBeWithin', + grew: 'toBeGreaterThan', + shrunk: 'toBeLessThan' + }[op]; + + var val = previousSize[k]; + var msgk = msg + ' ' + k + (parts[1] ? ' |' + parts[1] : ''); + var args = op === '~=' ? [val, 1.1, msgk] : [val, msgk, '']; + + expect(actual[k])[method](args[0], args[1], args[2]); + } + } + + function check(msg, restyleObj, exp) { + return function() { + return Plotly.restyle(gd, restyleObj).then(function() { + var gs = Lib.extendDeep({}, gd._fullLayout._size); + assertSize(msg, gs, exp); + previousSize = gs; + }); + }; + } + + Plotly.plot(gd, data, layout) + .then(function() { + var gs = gd._fullLayout._size; + previousSize = Lib.extendDeep({}, gs); + }) + .then(check('automargin:true', {automargin: true}, { + t: 'grew', l: 'grew', + b: 'grew', r: 'grew' + })) + .then(check('smaller font size', {'outsidetextfont.size': 8}, { + t: 'shrunk', l: 'shrunk', + b: 'shrunk', r: 'shrunk' + })) + .then(check('arrayOk textposition', { + textposition: [['outside', 'outside', 'inside', 'inside', 'outside']], + 'outsidetextfont.size': 12 + }, { + t: '~=', l: 'shrunk', + b: 'grew', r: 'grew' + })) + .then(check('automargin:false', {automargin: false}, { + t: 'shrunk', l: 'shrunk', + b: 'shrunk', r: 'shrunk' + })) + .catch(failTest) + .then(done); + }); +}); + +describe('Pie texttemplate:', function() { checkTextTemplate([{ type: 'pie', values: [1, 5, 3, 2], From 0ed3c697efac27d1be5120726712241946e73816 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Wed, 16 Oct 2019 11:49:35 -0400 Subject: [PATCH 3/3] add pie automargin mocks - one with default margins - one with margin:0 --- .../baselines/pie_automargin-margin0.png | Bin 0 -> 24154 bytes test/image/baselines/pie_automargin.png | Bin 0 -> 39893 bytes test/image/mocks/pie_automargin-margin0.json | 22 +++++++++++++++++ test/image/mocks/pie_automargin.json | 23 ++++++++++++++++++ 4 files changed, 45 insertions(+) create mode 100644 test/image/baselines/pie_automargin-margin0.png create mode 100644 test/image/baselines/pie_automargin.png create mode 100644 test/image/mocks/pie_automargin-margin0.json create mode 100644 test/image/mocks/pie_automargin.json diff --git a/test/image/baselines/pie_automargin-margin0.png b/test/image/baselines/pie_automargin-margin0.png new file mode 100644 index 0000000000000000000000000000000000000000..5d357496836cbc4fd4f0d4494639d3848482ead6 GIT binary patch literal 24154 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 z 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 literal 0 HcmV?d00001 diff --git a/test/image/baselines/pie_automargin.png b/test/image/baselines/pie_automargin.png new file mode 100644 index 0000000000000000000000000000000000000000..b15533e107475a895590ec1e7430726aa8c5403d GIT binary patch literal 39893 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 j-*BnVeq;OpUTT5pxyfQ?((cjd3i#OXcDB84