English 中文(简体)
Microsoft .Net Chart Control not showing markers
原标题:

I m using the Microsoft Chart Controls for Microsoft .NET Framework 3.5 and am having a spot of trouble getting Data Markers to show on the image.

I m generating the chart at run-time, so can t just use the designer.

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

I then add a bunch of data points using

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

After that, I can save the chart as an image

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

Which all works lovely, and I get pretty charts. The only problem is that there are no markers on the datapoints.

Can anyone shed any light on what I m doing wrong?

最佳回答

I m an idiot.

I put in a testing override up there that I forgot about, to set the style to FastLine - which of course doesn t create markers etc.

I changed

.ChartType = SeriesChartType.FastLine

to

.ChartType = SeriesChartType.Line

And naturally it just works now :)

问题回答

暂无回答




相关问题
Is Shared ReadOnly lazyloaded?

I was wondering when I write Shared ReadOnly Variable As DataType = New DataType() Or alternatively Shared ReadOnly Variable As New DataType() Is it lazy loaded or as the instance initializes? ...

Entertaining a baby with VB.NET

I would like to write a little application in VB.NET that will detect a baby s cry. How would I get started with such an application?

Choose Enter Rather than Pressing Ok button

I have many fields in the page and the last field is a dropdown with list of values. When I select an item in a dropdown and press Enter, it doesn t do the "Ok". Instead I have to manually click on Ok ...

ALT Key Shortcuts Hidden

I am using VS2008 and creating forms. By default, the underscore of the character in a textbox when using an ampersand is not shown when I run the application. ex. "&Goto Here" is not ...

Set Select command in code

On button Click I want to Set the Select command of a Gridview. I do this and then databind the grid but it doesn t work. What am i doing wrong? protected void bttnView_Click(object sender, ...

Hover tooltip on specific words in rich text box?

I m trying to create something like a tooltip suddenly hoovering over the mouse pointer when specific words in the richt text box is hovered over. How can this be done?

热门标签