我似乎无法找到控制饼图中标签可见性的属性。我需要关闭标签,因为图例中提供了信息。
任何人都知道我可以在代码中使用什么属性?
我尝试将系列标签设置为空Chart1.Series[i].Label = string.Empty;
,但标签似乎无论如何都会出现。
答案 0 :(得分:38)
Chart1.Series[i]["PieLabelStyle"] = "Disabled";
也可以,并且不需要为每个数据点设置。
答案 1 :(得分:7)
事实证明,有一个名为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";
答案 2 :(得分:6)
更改图表自定义属性也可以解决问题,无需编码
<asp:Series Name="Series1" ChartType="Pie" CustomProperties="PieLabelStyle=Disabled">
答案 3 :(得分:2)
答案 4 :(得分: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
答案 5 :(得分:1)
...和Ben的VB.NET格式答案:
Chart1.Series(0)("PieLabelStyle") = "Disabled"
适用于设置整个系列
答案 6 :(得分:0)
objChart.ChartAreas[0].AxisY.LabelStyle.Enabled = false;