急:VB MSCHART画二维散点图,但出来的是二维曲线图
各位大虾,VB MSCHART画二维散点图,但出来的是二维曲线图。大家帮忙看看哪里有问题??谢谢'画图
Public Sub ShowChart(Optional intAxisXMax As Integer, Optional intAxisXMin As Integer, Optional intAxisYMax As Integer, Optional intAxisYMin As Integer)
'//判断是否需要修改X轴显示范围,用于动态显示
With Me.MSChart1
.ColumnCount = 16 '//当设置图形为二维散点图时.一条曲线需两个Column,例如两条曲线时,只需对Column=1和3操作,就可完成各自属性设置
'// 设置最大值
.Plot.Axis(VtChAxisIdX).ValueScale.Maximum = intAxisXMax
.Plot.Axis(VtChAxisIdY).ValueScale.Maximum = intAxisYMax
'// 设置最小值
.Plot.Axis(VtChAxisIdY).ValueScale.Minimum = intAxisYMin
.Plot.Axis(VtChAxisIdX).ValueScale.Minimum = intAxisXMin
'//设置图线的外观
.Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid
.Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = intAxisXMax 'X轴主要网格数量
.Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 29 'Y轴主要网格数量
.Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 'X轴次要网格数量
.Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0 'Y轴次要网格数量
' 255,0,0 红色
' 255,255,0 黄色
' 0,255,0 绿色
' 0,0,255 蓝色
.Plot.SeriesCollection(1).Pen.VtColor.Set 0, 0, 255 '//第一条为实际曲线,设置为蓝色
.Plot.SeriesCollection(1).Pen.Width = 40 '//设置为较细
.Plot.SeriesCollection(3).Pen.VtColor.Set 0, 0, 0 ' 0, 255, 0 '//第二条为目标曲线,设置为绿色
.Plot.SeriesCollection(3).Pen.Width = 30 '//设置为较细
.Plot.SeriesCollection(5).Pen.VtColor.Set 0, 0, 0 ' 255, 255, 0 '//第三条为预警下限曲线,设置为黄色
.Plot.SeriesCollection(5).Pen.Width = 30 '//设置为较细
.Plot.SeriesCollection(7).Pen.VtColor.Set 0, 0, 0 ' 255, 255, 0 '//第四条为预警上限曲线,设置为黄色
.Plot.SeriesCollection(7).Pen.Width = 30 '//设置为较细
.Plot.SeriesCollection(9).Pen.VtColor.Set 0, 0, 0 ' 255, 0, 0 '//第五条为控制下限曲线,设置为红色
.Plot.SeriesCollection(9).Pen.Width = 30 '//设置为较细
.Plot.SeriesCollection(11).Pen.VtColor.Set 0, 0, 0 ' 255, 0, 0 '//第六条为控制上限曲线,设置为红色
.Plot.SeriesCollection(11).Pen.Width = 30 '//设置为较细
.Plot.SeriesCollection(13).Pen.VtColor.Set 0, 0, 0 ' 255, 0, 0 '//第7条为控制上限曲线,设置为红色
.Plot.SeriesCollection(13).Pen.Width = 20 '//设置为较细
.Plot.SeriesCollection(13).Pen.Style = VtPenStyleDashed
.Plot.SeriesCollection(15).Pen.VtColor.Set 0, 0, 0 ' 255, 0, 0 '//第8条为控制上限曲线,设置为红色
.Plot.SeriesCollection(15).Pen.Width = 20 '//设置为较细
.Plot.SeriesCollection(15).Pen.Style = VtPenStyleDashed
'//设置X,Y轴不自动缩放,固定大小
.Plot.Axis(VtChAxisIdX).ValueScale.Auto = False
.Plot.Axis(VtChAxisIdY).ValueScale.Auto = False
.Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleSolid '//X轴网格为实线
.Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleSolid '//Y轴网格为实线
'//设置坐标系在MSChart控件框中的大小
.Plot.AutoLayout = False '//改为手动设置大小
.Plot.LocationRect.Min.X = 0
.Plot.LocationRect.Min.Y = 0 '//设置最小坐标位置为0,即坐标系顶部和左边都靠着MSChart的边框
.Plot.LocationRect.Max.X = .Width
.Plot.LocationRect.Max.Y = .Height '//设置最大值为MSChart边框的长和宽,使坐标系右边和底部靠着边框
.Plot.UniformAxis = False '//指定图表的所有值坐标轴的单位刻度不一致(X,Y轴坐标不需要一致).
'//设置图形类型
.ChartType = VtChChartType2dXY '//设置图形为二维散点图
.ChartData = mydata '
.Refresh
End With
End Sub --------------------编程问答-------------------- 建议你使用PictureBox结合API函数来绘制散点图 --------------------编程问答-------------------- 烦啊,怎么vb mschart就是不出散点,而出的曲线。
顶一下,高手出现。 --------------------编程问答-------------------- MSChart1.Plot.SeriesCollection(index).ShowLine = False
补充:VB , 基础类