Ответ 1
Chart1.Series[i]["PieLabelStyle"] = "Disabled";
также работает и не нужно устанавливать для каждого datapoint.
Я не могу найти свойство, которое контролирует видимость меток в круговых диаграммах. Мне нужно отключить ярлыки, поскольку информация доступна в легенде.
Кто-нибудь знает, какое свойство я могу использовать в коде?
Я попытался установить ярлыки серий на ничего Chart1.Series[i].Label = string.Empty;
, но метки все равно появляются.
Chart1.Series[i]["PieLabelStyle"] = "Disabled";
также работает и не нужно устанавливать для каждого datapoint.
Нашел ответ здесь: http://social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/thread/32ccd993-5f43-47a3-bcbc-e772a13a87fe
Оказывается, есть неясный DataPointCustomProperty под названием PieLabelStyle, который управляет видимостью ярлыков в круговых диаграммах. Хуже того, свойство должно быть установлено в каждой точке данных.
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";
Изменение настраиваемых свойств диаграммы также сделает трюк, и не требуется кодирование
<asp:Series Name="Series1" ChartType="Pie" CustomProperties="PieLabelStyle=Disabled">
Возможно, этот сайт решит вашу проблему.
protected void Page_Load (отправитель объекта, EventArgs e) {
// Вставка кода для создания основной круговой диаграммы // См. Мое сообщение в блоге "Pie Charts в 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
... и ответ Ben в формате VB.NET:
Chart1.Series(0)("PieLabelStyle") = "Disabled"
отлично работает для установки целых серий
Это также можно сделать в пользовательском интерфейсе с помощью
CustomProperties
Disabled
objChart.ChartAreas[0].AxisY.LabelStyle.Enabled = false;