2010-04-21 16 views
5

Estoy creando un gráfico en 3D usando los controles de Microsoft Chart. Aquí está la imagen:Etiqueta en el gráfico utilizando los controles de Microsoft Chart

alt text http://www.highoncoding.com/articleimages/bar_graph.png

Quiero mostrar el punto en la parte superior de cada gráfico de barras. Al igual que para el examen 1 en la parte superior del gráfico de barras se debe mostrar 2 (como en 2 puntos), etc.

Aquí está el código:

private void BindData() { 

      var exams = new List<Exam>() 
      { 
       new Exam() { Name = "Exam 1", Point = 10 }, 
       new Exam() { Name = "Exam 2", Point = 12 }, 
       new Exam() { Name = "Exam 3", Point = 15 }, 
       new Exam() { Name = "Exam 4", Point = 2 } 
      }; 

      var series = ExamsChart.Series["ExamSeries"];   



      series.YValueMembers = "Point"; 
      series.XValueMember = "Name"; 

      //series.MarkerStyle = System.Web.UI.DataVisualization.Charting.MarkerStyle.Circle; 
      //series.MarkerSize = 20; 
      //series.LegendText = "hellow"; 
      //series.Label = "something";    


      var chartAreas = ExamsChart.ChartAreas["ChartArea1"];   


      ExamsChart.DataSource = exams; 
      ExamsChart.DataBind(); 
     } 

y aquí está el código html:

<asp:Chart ID="ExamsChart" Width="600" Height="320" runat="server"> 
     <Titles> 
     <asp:Title Text="Exam Report" /> 
     </Titles> 
     <Series> 
      <asp:Series Name="ExamSeries" ChartType="Column"> 
      </asp:Series> 
     </Series> 
     <ChartAreas> 

      <asp:ChartArea Name="ChartArea1"> 
      <Area3DStyle Enable3D="true" WallWidth="10" /> 
      </asp:ChartArea> 
     </ChartAreas> 
     </asp:Chart> 

ACTUALIZACIÓN:

Aquí está la respuesta:

foreach (var exam in exams) { 

       var point = new DataPoint(); 
       point.SetValueXY(exam.Name, exam.Point); 

       point.Label = exam.Name; 

       series.Points.Add(point); 
      } 

Respuesta

1

Directamente desde las muestras de tabla de MS:

// Show data points values as labels 
chart1.Series["Series1"].IsValueShownAsLabel = true; 

// Set data point label 
chart1.Series["Series1"].Points[2].Label = "My Point Label\nLabel Line #2"; 
Cuestiones relacionadas