Я использую Microsoft Chart Controls для Microsoft .NET Framework 3.5 и у меня возникают проблемы с отображением маркеров данных на изображении.
Я генерирую диаграмму во время выполнения, поэтому не могу просто использовать конструктор.
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
Что все работает прекрасно, и я получаю красивые графики.
Единственная проблема заключается в том, что на точках данных нет маркеров.
Может кто-нибудь пролить свет на то, что я делаю неправильно?