19

丑陋的饼图

我似乎找不到控制饼图中标签可见性的属性。我需要关闭标签,因为图例中提供了信息。

有人知道我可以在后面的代码中使用什么属性吗?

我尝试将系列标签设置为空,Chart1.Series[i].Label = string.Empty;但标签似乎仍然出现。

4

8 回答 8

44
Chart1.Series[i]["PieLabelStyle"] = "Disabled";

也可以,不需要为每个数据点设置。

于 2011-02-21T21:10:57.797 回答
7

在这里找到答案:http: //social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/thread/32ccd993-5f43-47a3-bcbc-e772a13a87fe

事实证明,有一个名为 PieLabelStyle 的不起眼的 DataPointCustomProperty 用于控制饼图中的标签可见性。更糟糕的是,必须在每个数据点上设置属性。

for (var i = 0; i < chart.Series.Count; i++) 
    for (var j = 0; j < chart.Series[i].Points.Count; j++)
        chart.Series[i].Points[j]["PieLabelStyle"] = "Disabled";
于 2010-01-27T17:01:16.253 回答
7

更改图表自定义属性也可以解决问题,无需编码

<asp:Series Name="Series1" ChartType="Pie" CustomProperties="PieLabelStyle=Disabled">
于 2011-02-24T16:25:37.050 回答
5

这也可以在 UI 中通过

  1. 打开系列编辑器窗口(主属性面板中的省略号按钮)
  2. 选择想要的系列
  3. 扩大CustomProperties财产
  4. 选择Disabled

例子

于 2019-08-20T18:02:18.650 回答
2

...和 ​​Ben 的 VB.NET 格式的答案:

Chart1.Series(0)("PieLabelStyle") = "Disabled"

适用于设置整个系列

于 2014-07-16T11:09:56.933 回答
1

可能这个网站能解决你的问题

protected void Page_Load(object sender, EventArgs e) {
// 插入代码以创建基本饼图 // 完整源代码请参见我的博客文章“ASP.NET 中的饼图”

     // Set pie labels to be outside the pie chart
     this.Chart2.Series[0]["PieLabelStyle"] = "Outside";

     // Set border width so that labels are shown on the outside
     this.Chart2.Series[0].BorderWidth = 1;
     this.Chart2.Series[0].BorderColor = System.Drawing.Color.FromArgb(26, 59, 105);

     // Add a legend to the chart and dock it to the bottom-center
     this.Chart2.Legends.Add("Legend1");
     this.Chart2.Legends[0].Enabled = true;
     this.Chart2.Legends[0].Docking = Docking.Bottom;
     this.Chart2.Legends[0].Alignment = System.Drawing.StringAlignment.Center;

     // Set the legend to display pie chart values as percentages
     // Again, the P2 indicates a precision of 2 decimals
     this.Chart2.Series[0].LegendText = "#PERCENT{P2}";

     // By sorting the data points, they show up in proper ascending order in the legend
     this.Chart2.DataManipulator.Sort(PointSortOrder.Descending, Chart2.Series[0]);
 }

也访问这个网站我也从那个网站获取这个代码非常好的mscharts教程 http://betterdashboards.wordpress.com/2009/02/04/display-percentages-on-a-pie-char

于 2013-11-05T06:00:21.653 回答
0
objChart.ChartAreas[0].AxisY.LabelStyle.Enabled = false;
于 2010-06-02T10:28:26.267 回答
0

对于 C#,以下代码适用于系列中的所有点。

chart1.Series[seriesname]["PieLabelStyle"] = "Disabled";
于 2022-03-02T22:49:58.343 回答