Подтвердить что ты не робот

Скрыть метки в круговых диаграммах (MS Chart for.Net)

ugly pie chart

Я не могу найти свойство, которое контролирует видимость меток в круговых диаграммах. Мне нужно отключить ярлыки, поскольку информация доступна в легенде.

Кто-нибудь знает, какое свойство я могу использовать в коде?

Я попытался установить ярлыки серий на ничего Chart1.Series[i].Label = string.Empty;, но метки все равно появляются.

4b9b3361

Ответ 1

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

также работает и не нужно устанавливать для каждого datapoint.

Ответ 2

Нашел ответ здесь: 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";

Ответ 3

Изменение настраиваемых свойств диаграммы также сделает трюк, и не требуется кодирование

<asp:Series Name="Series1" ChartType="Pie" CustomProperties="PieLabelStyle=Disabled">

Ответ 4

Возможно, этот сайт решит вашу проблему.

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

Ответ 5

... и ответ Ben в формате VB.NET:

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

отлично работает для установки целых серий

Ответ 6

Это также можно сделать в пользовательском интерфейсе с помощью

  1. Открытие окна редактора серии (кнопка с многоточием на главной панели свойств)
  2. Выбор нужной серии
  3. Расширение свойства CustomProperties
  4. Выбор Disabled

Example

Ответ 7

objChart.ChartAreas[0].AxisY.LabelStyle.Enabled = false;