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