Skip to content

Commit 27d0bda

Browse files
committed
smooth out start/end from entry,
- to try to keep text inside sector, while keeping a transition smooth in the math sense.
1 parent 0da13db commit 27d0bda

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/traces/sunburst/plot.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,14 @@ function plotOne(gd, cd, element, transitionOpts) {
458458
var x1Fn = d3.interpolate(prev.x1, pt.x1);
459459
var scaleFn = d3.interpolate(prev.transform.scale, transform.scale);
460460
var rotateFn = d3.interpolate(prev.transform.rotate, transform.rotate);
461-
var rCenterFn = d3.interpolate(prev.transform.rCenter, transform.rCenter);
461+
462+
// smooth out start/end from entry, to try to keep text inside sector
463+
// while keeping transition smooth
464+
var pow = transform.rCenter === 0 ? 3 :
465+
prev.transform.rCenter === 0 ? 1 / 3 :
466+
1;
467+
var _rCenterFn = d3.interpolate(prev.transform.rCenter, transform.rCenter);
468+
var rCenterFn = function(t) { return _rCenterFn(Math.pow(t, pow)); };
462469

463470
return function(t) {
464471
var rpx1 = rpx1Fn(t);

0 commit comments

Comments
 (0)