diff --git a/src/chart/pie/PieSeries.ts b/src/chart/pie/PieSeries.ts index 997e0b36cccaa9595fdb1318e402f9c661535730..fa0706ec4ccc385c002926291641da4b93b7176c 100644 --- a/src/chart/pie/PieSeries.ts +++ b/src/chart/pie/PieSeries.ts @@ -69,7 +69,7 @@ interface PieLabelOption extends Omit bleedMargin?: number distanceToLabelLine?: number - position?: SeriesLabelOption['position'] | 'outer' | 'inner' | 'center' + position?: SeriesLabelOption['position'] | 'outer' | 'inner' | 'center' | 'outside' } interface PieLabelLineOption extends LabelLineOption { diff --git a/src/chart/pie/PieView.ts b/src/chart/pie/PieView.ts index ba1ade0de18ceb19ca8021292836e7f979e960d4..05d3e718adce05b728c18ebda04f9a5d92df0cf4 100644 --- a/src/chart/pie/PieView.ts +++ b/src/chart/pie/PieView.ts @@ -136,7 +136,7 @@ class PiePiece extends graphic.Sector { const labelLine = sector.getTextGuideLine(); const labelText = sector.getTextContent(); - extend(labelLine.ensureState('select'), { + labelLine && extend(labelLine.ensureState('select'), { x: dx, y: dy }); @@ -185,6 +185,11 @@ class PiePiece extends graphic.Sector { z2: 10 }); + const labelPosition = seriesModel.get(['label', 'position']); + if (labelPosition !== 'outside' && labelPosition !== 'outer') { + sector.getTextGuideLine()?.hide(); + return; + } // Default use item visual color setLabelLineStyle(this, getLabelLineStatesModels(itemModel), { stroke: visualColor, diff --git a/test/pie-label.html b/test/pie-label.html index 69acccf3d497b2f3fbf6144c1963881606e10c2b..c87a4e19f6f97186da3793dea9d8f86412597e2f 100644 --- a/test/pie-label.html +++ b/test/pie-label.html @@ -48,6 +48,7 @@ under the License.
+
+ + \ No newline at end of file