You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用MigraDoc/PDFSharp隐藏饼图指定数据标签?

解决MigraDoc Pie2D饼图隐藏单个数据标签的问题

MigraDoc中全局设置chart.DataLabel会将样式应用到所有数据点,要隐藏单个标签,你需要单独针对目标数据点修改其DataLabel属性。

只需在现有代码中添加几行,把第二个数据点的标签设为不可见即可:

Chart chart = new Chart(ChartType.Pie2D);
chart.Format.Alignment = ParagraphAlignment.Center;
chart.Width = Unit.FromCentimeter(8);
chart.Height = Unit.FromCentimeter(6);

Series series = chart.SeriesCollection.AddSeries();
series.Add(new double[] { single.PercentageGot, (100 - single.PercentageGot) });

var elements = series.Elements.Cast<MigraDoc.DocumentObjectModel.Shapes.Charts.Point>().ToArray();

elements[0].FillFormat.Color = new Color(31, 110, 165);
elements[1].FillFormat.Color = Colors.LightGray;

// 新增:单独控制第二个数据点的标签可见性
elements[1].DataLabel.Visible = false;

XSeries xseries = chart.XValues.AddXSeries();
xseries.Add("Percentage", "Remaining Percentage");

chart.DataLabel.Type = DataLabelType.Percent;
chart.DataLabel.Position = DataLabelPosition.OutsideEnd;

原理很直接:全局的chart.DataLabel会给所有数据点配置默认标签样式,但单个数据点的DataLabel属性可以覆盖全局设置。这里将第二个点的Visible设为false,就能隐藏它的百分比标签,同时保留第一个点的正常显示。

内容的提问来源于stack exchange,提问作者Zeeshanef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 01:31:04