diff --git a/src/chart/pie/pieLayout.ts b/src/chart/pie/pieLayout.ts index 937f129c76..2da9decd5e 100644 --- a/src/chart/pie/pieLayout.ts +++ b/src/chart/pie/pieLayout.ts @@ -118,20 +118,18 @@ export default function pieLayout( if (roseType !== 'area') { angle = (sum === 0 && stillShowZeroSum) ? unitRadian : (value * unitRadian); + if (angle < minAndPadAngle) { + angle = minAndPadAngle; + restAngle -= minAndPadAngle; + } + else { + valueSumLargerThanMinAngle += value; + } } else { angle = angleRange / validDataCount; } - - if (angle < minAndPadAngle) { - angle = minAndPadAngle; - restAngle -= minAndPadAngle; - } - else { - valueSumLargerThanMinAngle += value; - } - const endAngle = currentAngle + dir * angle; // calculate display angle @@ -165,7 +163,7 @@ export default function pieLayout( // Some sector is constrained by minAngle and padAngle // Rest sectors needs recalculate angle - if (restAngle < PI2 && validDataCount) { + if (restAngle < PI2 && validDataCount && roseType !== 'area') { // Average the angle if rest angle is not enough after all angles is // Constrained by minAngle and padAngle if (restAngle <= 1e-3) {