2010-01-27 13 views
17

ugly pie chartOcultar etiquetas en gráficos circulares (MS Chart para .Net)

Me parece que no puede encontrar la propiedad que controla la visibilidad de las etiquetas en los gráficos circulares. Necesito desactivar las etiquetas ya que la información está disponible en la leyenda.

Alguien sabe qué propiedad que puedo utilizar en código detrás?

I intentado fijar las etiquetas de serie a nada Chart1.Series[i].Label = string.Empty; pero las etiquetas parecen mostrar de todos modos.

Respuesta

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

también funciona, y no es necesario que se fijará para cada punto de datos. Se necesita

+0

Cool, gracias Ben! – grenade

+0

Configurarlo para una serie completa en lugar de solo punto de datos no funcionó para mí ... –

+0

¡No me extraña que no pudiera adivinar esto! Gracias. –

7

encontrado la respuesta aquí: http://social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/thread/32ccd993-5f43-47a3-bcbc-e772a13a87fe

Resulta que hay una llamada DataPointCustomProperty oscura PieLabelStyle que gobierna la visibilidad de etiquetas en gráficos circulares. Peor aún, la propiedad debe establecerse en cada punto de datos.

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

¿Ha probado esto con gráficos circulares? Es válido para la mayoría de los tipos de gráficos, pero en febrero no afectó a los gráficos circulares. Ha cambiado esto? – grenade

6

Cambio de propiedades personalizadas diagrama hará el truco, así y sin la codificación

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

Puede ser esta web a resolver su problema

protegida void Page_Load (object sender, EventArgs e) {
// Insertar código para crear un gráfico circular básico // Ver la publicación de mi blog titulada "Gráficos circulares en ASP.NET" para obtener el código fuente 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]); 
} 

También puede visitar este sitio web también tomo este código a partir de ese sitio web muy buen tutorial sobre mscharts http://betterdashboards.wordpress.com/2009/02/04/display-percentages-on-a-pie-char

1

... y la respuesta de Ben en formato VB.NET:

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

funciona bien para el establecimiento de toda serie

Cuestiones relacionadas