2010-01-27 5 views
17

ugly pie chartausblenden Etiketten in Tortendiagrammen (MS Chart for .NET)

Ich kann nicht scheinen, um die Immobilie zu finden, die Sichtbarkeit von Etiketten in Tortendiagrammen steuert. Ich muss die Beschriftungen deaktivieren, da die Informationen in der Legende verfügbar sind.

Wer weiß, welche Eigenschaft kann ich in Code hinter verwenden?

Ich habe versucht, die Serie Etiketten zu nichts Chart1.Series[i].Label = string.Empty; setzen, aber die Etiketten scheinen trotzdem zu zeigen.

Antwort

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

funktioniert auch, und muss nicht für jeden Datenpunkt gesetzt werden.

+0

Cool, danke Ben! – grenade

+0

Die Einstellung für eine ganze Serie anstatt für einen einzelnen Datenpunkt funktionierte bei mir nicht. –

+0

Kein Wunder, dass ich das nicht erraten konnte! Vielen Dank. –

7

hier die Antwort gefunden: http://social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/thread/32ccd993-5f43-47a3-bcbc-e772a13a87fe

Es stellt sich heraus es eine obskure DataPointCustomProperty ist PieLabelStyle genannt, die Label Sichtbarkeit in Tortendiagrammen regelt. Schlimmer noch, die Eigenschaft muss für jeden Datenpunkt festgelegt werden.

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

Haben Sie das mit Kreisdiagrammen getestet? Es ist für die meisten Diagrammtypen gültig, hat aber im Februar keine Auswirkungen auf Kreisdiagramme. Hat sich das geändert? – grenade

6

Ändern Diagramm benutzerdefinierte Eigenschaften werden auch den Trick und keine Codierung benötigt wird

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

diese Website Ihr Problem lösen sein kann

protected void Page_Load (object sender, EventArgs e) {
// Code einfügen, um ein grundlegendes Kreisdiagramm zu erstellen // Siehe meinen Blogbeitrag mit dem Titel "Pie Charts in ASP.NET" für den vollständigen Quellcode

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

auch diese Website besuchen ich diesen Code sehr nettes Tutorial von dieser Website übernehmen auch mscharts http://betterdashboards.wordpress.com/2009/02/04/display-percentages-on-a-pie-char

1

... und die Antwort von Ben in VB.NET Format:

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

funktioniert gut für die Einstellung ganze Serie