VB mschart控件的使用

Private Sub Form_Load()
Dim MyData(20, 1) As Double
    '-----x轴坐标值-----Y轴坐标值----------
    MyData(0, 0) = 0: MyData(0, 1) = 180 '本句代表了:第一点数据的X轴坐标为0,Y轴坐标为180
    MyData(1, 0) = 6: MyData(1, 1) = 60
    MyData(2, 0) = 8: MyData(2, 1) = 60
    MyData(3, 0) = 11: MyData(3, 1) = 0
    MyData(4, 0) = 16: MyData(4, 1) = 0
    MyData(5, 0) = 19: MyData(5, 1) = 60
    MyData(6, 0) = 25.8: MyData(6, 1) = 60
    MyData(7, 0) = 28.8: MyData(7, 1) = 0
    MyData(8, 0) = 31.8: MyData(8, 1) = 60
    MyData(9, 0) = 40.3: MyData(9, 1) = 60
    MyData(10, 0) = 43.3: MyData(10, 1) = 0
    MyData(11, 0) = 93.3: MyData(11, 1) = 0
    MyData(12, 0) = 96.3: MyData(12, 1) = 60
    MyData(13, 0) = 99.3: MyData(13, 1) = 0
    MyData(14, 0) = 105.3: MyData(14, 1) = 0
    MyData(15, 0) = 135.3: MyData(15, 1) = 0
    MyData(16, 0) = 144.3: MyData(16, 1) = 180
    MyData(17, 0) = 148.8: MyData(17, 1) = 270
    MyData(18, 0) = 405.03: MyData(18, 1) = 270
    MyData(19, 0) = 409.53: MyData(19, 1) = 180
    MyData(20, 0) = 564.17: MyData(20, 1) = 180
'波形图外观设置
With MSChart1
    .TitleText = "速度 m/min"
'    '设置图线的外观
    .Plot.SeriesCollection(1).Pen.Width = 30
    .Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid
'    '设置XY轴
    .Plot.Axis(VtChAxisIdX).ValueScale.Auto = False
    .Plot.Axis(VtChAxisIdY).ValueScale.Auto = False
    '// 设置最大值
    .Plot.Axis(VtChAxisIdX).ValueScale.Maximum = 600 '设置横轴标注最大值
    .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 300 '设置纵轴标注最大值
    '// 设置最小值
    .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0
    .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0
    '//
    .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 6 'X轴主要网格数量
    .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 6 'Y轴主要网格数量
    .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 'X轴次要网格数量
    .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0 'Y轴次要网格数量
    .Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted
    .Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted
    MSChart1.Plot.AutoLayout = False
    MSChart1.Plot.UniformAxis = False
    MSChart1.chartType = VtChChartType2dXY '设置图形为二维散点图
    MSChart1.ChartData = MyData '数据
End With

End Sub

 

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.AxMSChart1.chartType = MSChart20Lib.VtChChartType.VtChChartType2dLine
        Me.AxMSChart1.ChartData = x
        Dim i As Integer
        For i = 1 To Me.AxMSChart1.RowCount

            If i Mod 3 = 0 Then
                AxMSChart1.Row = i

                AxMSChart1.RowLabel = "第" + i.ToString + "周"
            Else
                AxMSChart1.Row = i
                AxMSChart1.RowLabel = ""
            End If

        Next

        Dim currentaxis As MSChart20Lib.Axis
        Dim currentlabel As MSChart20Lib.Label

        ' get a reference to the y axis
        currentaxis = AxMSChart1.Plot.Axis(MSChart20Lib.VtChAxisId.VtChAxisIdY)

        Debug.WriteLine(currentaxis.AxisTitle)

        ' loop through and set the font of each label
        For Each currentlabel In currentaxis.Labels
            currentlabel.VtFont.Name = "Courier"
            currentlabel.VtFont.Size = 16

        Next currentlabel

        For i = 1 To 2
            AxMSChart1.Plot.SeriesCollection(i).LegendText = "Y" & i

        Next i

        AxMSChart1.Plot.SeriesCollection(1).Pen.Width = 30
        AxMSChart1.Plot.SeriesCollection(1).Pen.Style = MSChart20Lib.VtPenStyle.VtPenStyleSolid

        AxMSChart1.Plot.AutoLayout = False
        AxMSChart1.Plot.UniformAxis = False

        AxMSChart1.Plot.Axis(MSChart20Lib.VtChAxisId.VtChAxisIdY).ValueScale.Auto = False
        AxMSChart1.Plot.Axis(MSChart20Lib.VtChAxisId.VtChAxisIdY).ValueScale.Minimum = 0
        AxMSChart1.Plot.Axis(MSChart20Lib.VtChAxisId.VtChAxisIdY).ValueScale.Maximum = 1000
        AxMSChart1.Plot.Axis(MSChart20Lib.VtChAxisId.VtChAxisIdY).ValueScale.MajorDivision = 5
        AxMSChart1.Plot.Axis(MSChart20Lib.VtChAxisId.VtChAxisIdY).ValueScale.MinorDivision = 1
    End Sub

你可能感兴趣的:(VB mschart控件的使用)