Skip to content

Commit 7f2ea46

Browse files
committed
handle auto rotation in pie and reuse rotation function
1 parent dadcd06 commit 7f2ea46

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

src/traces/pie/helpers.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,7 @@ exports.castOption = function castOption(item, indices) {
4040
if(Array.isArray(item)) return exports.getFirstFilled(item, indices);
4141
else if(item) return item;
4242
};
43+
44+
exports.getRotationAngle = function(rotation) {
45+
return (rotation === 'auto' ? 0 : rotation) * Math.PI / 180;
46+
};

src/traces/pie/plot.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1045,7 +1045,7 @@ function setCoords(cd) {
10451045
var cd0 = cd[0];
10461046
var r = cd0.r;
10471047
var trace = cd0.trace;
1048-
var currentAngle = trace.rotation * Math.PI / 180;
1048+
var currentAngle = helpers.getRotationAngle(trace.rotation);
10491049
var angleFactor = 2 * Math.PI / cd0.vTotal;
10501050
var firstPt = 'px0';
10511051
var lastPt = 'px1';

src/traces/sunburst/plot.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ var uniformText = require('../bar/uniform_text');
1818
var recordMinTextSize = uniformText.recordMinTextSize;
1919
var clearMinTextSize = uniformText.clearMinTextSize;
2020
var piePlot = require('../pie/plot');
21+
var getRotationAngle = require('../pie/helpers').getRotationAngle;
2122
var computeTransform = piePlot.computeTransform;
2223
var transformInsideText = piePlot.transformInsideText;
2324
var styleOne = require('./style').styleOne;
@@ -150,11 +151,11 @@ function plotOne(gd, cd, element, transitionOpts) {
150151
// filter out slices that won't show up on graph
151152
sliceData = sliceData.filter(function(pt) { return pt.y1 <= cutoff; });
152153

153-
if(trace.rotation && trace.rotation !== 'auto') {
154-
var extraAngle = trace.rotation * Math.PI / 180;
154+
var baseX = getRotationAngle(trace.rotation);
155+
if(baseX) {
155156
sliceData.forEach(function(pt) {
156-
pt.x0 += extraAngle;
157-
pt.x1 += extraAngle;
157+
pt.x0 += baseX;
158+
pt.x1 += baseX;
158159
});
159160
}
160161

0 commit comments

Comments
 (0)