mschart 散点图 VtChChartType2dXY 实例

玩转VB 专栏收录该内容
28 篇文章 1 订阅
http://topic.csdn.net/u/20080904/13/dd34c811-3f4c-4456-8521-e7f6d9c3d8d0.html

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'过 程 名:  subCurveInit
'作    用:  初始化MSChart,使其满足作图要求
'说    明:  作图时如下:
'         当设置图形为二维散点图,画一条曲线时需定义一个二维数组MyData(0 to n,0 to 1),赋值方法如下
'         ******* X轴********y轴*******
'         MyData(0,0)=1:MyData(0,1)=1
'         MyData(1,0)=1:MyData(1,1)=1
'         .........
'         MyData(n,0)=1:MyData(n,1)=1
'         当为两条曲线时定义MyData(0 to n,0 to 3),赋值如下
'         第一条:**X轴***y轴******第二条:*****X轴******y轴*******
'         MyData(0,0)=1:MyData(0,1)=1:MyData(0,2)=1:MyData(0,3)=1
'         MyData(1,0)=1:MyData(1,1)=1:MyData(1,2)=1:MyData(1,3)=1
'         .........
'         MyData(n,0)=1:MyData(n,1)=1:MyData(n,2)=1:MyData(n,3)=1
'         当为多条曲线的时候依此类推定义Mydata数组
'         设置曲线相关属性可对.Plot.SeriesCollection(x)的子属性进行操作完成.(x为第几条曲线)
'         最后令.ChartData = MyData即可
'修改历史:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub subCurveInit(Optional intAxisXMax As Integer, Optional intAxisXMin As Integer)
    '//判断是否需要修改X轴显示范围,用于动态显示
    With frmMain.chaCurve
        If intAxisXMax <> 0 Then '//是否需要修改最X轴最大值
            .Plot.Axis(VtChAxisIdX).ValueScale.Maximum = intAxisXMax    '//X轴最大值
            If intAxisXMax <> 0 Then '//是否修改X轴最小值
                .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = intAxisXMin    '//X轴最小值
            End If
        Else '//如果无需修改X轴最大或最小值,进行以下初始化工作
         .TitleText = "温度/时间" '//标题
         .Title.VtFont.VtColor.Set 255, 255, 0 '//标题颜色
         '//对两条曲线的颜色和粗细设置
        .ColumnCount = 4 '//当设置图形为二维散点图时.一条曲线需两个Column,例如两条曲线时,只需对Column=1和3操作,就可完成各自属性设置
        .Plot.SeriesCollection(1).Pen.VtColor.Set 0, 0, 255 '//第一条为理想曲线,设置为蓝色
        .Plot.SeriesCollection(1).Pen.Width = 10 '//设置为较细
        .Plot.SeriesCollection(3).Pen.VtColor.Set 255, 0, 0 '//第二条为实际曲线,设置为红色
        .Plot.SeriesCollection(3).Pen.Width = 10    '//设置为较细
        '//设置X,Y轴不自动缩放,固定大小
        .Plot.Axis(VtChAxisIdX).ValueScale.Auto = False
        .Plot.Axis(VtChAxisIdY).ValueScale.Auto = False
        '// 设置X轴的最大值和最小值
        .Plot.Axis(VtChAxisIdX).ValueScale.Maximum = 250    '//X轴最大值
        .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0      '//X轴最小值
        '// 设置Y轴最大值和最小值
        .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 100    '//Y轴最大值
        .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = -50    '//Y轴最小值
        '//设置网格
        .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 25 '//X轴主要网格数量
        .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 15 '//Y轴主要网格数量
        .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 5 '//X轴次要网格数量
        .Plot.Axis(VtChAxisIdX).AxisGrid.MinorPen.Style = VtPenStyleNull '//X轴次要网格不显示
        .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0 '//Y轴次要网格数量
        .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 '//可有可无,目的是防止初始显示时曲线框内显示杂乱曲线
         End If
    End With
End Sub

  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值