2010-01-27 14 views
17

ugly pie chartNascondi etichette in grafici a torta (MS grafico per Net)

io non riesco a trovare la proprietà che controlla la visibilità delle etichette nei grafici a torta. Devo disattivare le etichette perché le informazioni sono disponibili nella legenda.

Qualcuno sa quale proprietà posso usare nel codice?

Ho provato a impostare le etichette della serie su niente Chart1.Series[i].Label = string.Empty; ma le etichette sembrano comunque essere visualizzate.

risposta

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

lavora troppo, e non ha bisogno di essere impostato per ogni datapoint.

+0

Fantastico, grazie Ben! – grenade

+0

Impostarlo per un'intera serie invece di un singolo punto di dati non ha funzionato per me .. –

+0

Non mi meraviglia che non potevo immaginarlo! Grazie. –

7

trovato la risposta qui: http://social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/thread/32ccd993-5f43-47a3-bcbc-e772a13a87fe

Si scopre c'è un DataPointCustomProperty oscura chiamato PieLabelStyle che governa la visibilità dell'etichetta in grafici a torta. Peggio ancora, la proprietà deve essere impostata su ogni punto dati.

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"; 
0
objChart.ChartAreas[0].AxisY.LabelStyle.Enabled = false; 
+0

Hai provato questo con i grafici a torta? È valido per la maggior parte dei tipi di grafici, ma a febbraio non ha influito sui grafici a torta. È cambiato? – grenade

6

Modifica delle proprietà di grafico personalizzato farà il trucco come bene e senza codifica è necessaria

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

Può essere questo sito a risolvere il problema

protetto void Page_Load (object sender, EventArgs) {
// Inserisci codice per creare il grafico a torta base // Vedi il mio post sul blog intitolato "Grafici a torta in ASP.NET" per il codice sorgente completo

 // 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]); 
} 

Anche visitare questo sito Colgo anche questo codice da quel sito molto bello tutorial su mscharts http://betterdashboards.wordpress.com/2009/02/04/display-percentages-on-a-pie-char

1

... e la risposta di Ben in formato VB.NET:

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

funziona bene per l'impostazione tutta serie

Problemi correlati