2009-11-13 2 views
1

Я использую Microsoft Chart Controls for Microsoft .NET Framework 3.5, и у меня есть проблема с получением маркеров данных для показа на изображении.Microsoft .Net Chart Control не показывает маркеры

Я создаю диаграмму во время выполнения, поэтому не могу просто использовать конструктора.

Sub New() 
    MainChart = New Chart 
    MainChart.Size = New Drawing.Size(500, 200) 

    MainArea = New ChartArea() 
    With MainArea 
     .Name = "Default" 
     .AxisX.LabelStyle.Format = "MMM" 
     .AxisX.MajorGrid.Enabled = False 
     .AxisX.IsLabelAutoFit = False 

     .AxisY.MajorGrid.LineColor = Drawing.Color.Gainsboro 
     .AxisY.IsLabelAutoFit = True 
     .AxisY.Minimum = 0 
     .AxisY.Maximum = 50 
    End With 
    MainChart.ChartAreas.Add(MainArea) 


    MainSeries = New Series() 
    With MainSeries 
     .ChartArea = "Default" 
     .Name = "MainSeries" 
     .ChartType = SeriesChartType.Line ''# .FastLine would hide markers... 
     .IsXValueIndexed = True 
     .XValueType = ChartValueType.Date 
     .MarkerSize = 9 
     .MarkerStyle = MarkerStyle.Diamond 
     .ToolTip = "#VALX: #VAL" 
    End With 
    MainChart.Series.Add(MainSeries) 

End Sub 

Я тогда добавить кучу точек данных с использованием

Public Sub AddDataPoint(ByVal X As Date, ByVal Y As Double) 
    MainSeries.Points.AddXY(X, Y) 
End Sub 

После этого я могу сохранить диаграмму в виде изображения

Public Sub SaveImage(ByVal Filename As String) 
    MainChart.SaveImage(Filename, ChartImageFormat.Png) 
End Sub 

Что все работает прекрасный, и я получаю довольно графики. Единственная проблема заключается в том, что на точках данных нет меток.

Может ли кто-нибудь пролить свет на то, что я делаю неправильно?

ответ

3

Я идиот.

Я положил в испытательном переопределении там, что я забыл о том, чтобы установить стиль в Fastline - что, конечно, не создает маркеры и т.д.

Я изменил

.ChartType = SeriesChartType.FastLine 

в

.ChartType = SeriesChartType.Line 

И, естественно, сейчас это работает

Смежные вопросы