MSCHART的使用之vb中利用MSCHART控件画二维散点图2008年03月31日 星期一 16:12近日在学习傅立叶分解时,写了个小程序来验证自己对傅立叶分解的一些理解,为了更生动直观就需要画一些图形,以前总是用picture控件来实现,后来在网上看到VB中有个MSCHART控件可以来画很多类型的图形,就学习了一下,由于是第一次搞,所以按习惯在网上搜索相关帖子,发现没有一个很完整的关于MSCHART中二维散点图的例子,很是郁闷,经过我自己几天的努力,终于解决了这个问题.现以一个具体的例子来说明,希望我的这个例子能对大家有所帮助.这个例子是一个论坛上一位网友提出来的,但是这个问题一直到现在还没有人回答,我权当在这里回答一下吧.问题如下:
 

Private Sub Form_Load()

'对于二维散点图来说,第一列代表了X轴坐标,第二列代表了Y轴坐标
'因此在定义二维数据时,第二维定义为0到1,第一维代表了第几点数据,可根据数据点数变化
'下面以数据点数有21点为列子
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

从网上搜索到这个很好的画曲线的例子,问题是怎么样画第2条曲线呢?
请高人回答!
感谢原作者彷徨的鸟,感谢高人的答复!
例程源自:http://hi.baidu.com/privateblog/blog/item/c696d6f911968d5d242df23f.html