zoukankan      html  css  js  c++  java
  • vb之mschart控件小结

           暑假的时候室友论文中需要比较数据趋势,画曲线图,正好我是学计算机的,便接下了这个任务,也算是做个小软件练习下,在选择语言的时候,我犹豫了,因为需要图形界面,我平时练算法用的c,显然不适合,java和vb都学过一些,不过我对java里面类(太多了)感到头疼,便选择用vb做这个事情。

          重新熟悉了下vb的语法,首先vb也不是一个纯面向对象语言,控件都是用对象封装的,但是也有模块这种面向过程的代码。其中全局变量和公共方法都是放在模块中的,vb的数组定义也很有意思,默认情况下数组定义时需要指定数组的大小且大小数值必须为常量,这样想要定义一个变长的数组便有些麻烦,vb提供了redim方法,可以重新定义先前声明的数组

    如:

    Public array() as Integer
    
    
    Public Function myarray( len as Integer)
    redim array(1 to len)
    myarray=array
    End Function

     这样可以在函数中来动态定义变长数组。其他循环,分支,变量定义等都很好理解。

          下面来重点说一下mschart控件,mschart控件是微软提供的画图控件,我所要实现的就是用它画多条折线图。几个需要学习的知识点如下:

    '指定arrData为曲线数据来源,其中arrData(i,0)如果为字符串则其被作为x轴刻度标签
    MSChart1.ChartData = arrData
    '指定所画图表的类型,竖状图,饼图,折线图等等
    MSChart1.chartType = VtChChartType2dLine
    '指定第i条曲线图例标签的名字
    MSChart1.Column = i
    MSChart1.ColumnLabel = "temprature 1"
    '图例设置为显示
    MSChart1.ShowLegend = true
    '设置y轴最大刻度为60,最小刻度为16,共有8条刻度线
    MSChart1.Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 60
    MSChart1.Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 16
    MSChart1.Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision =8
    '设置x,y轴坐标网格为虚线
    MSChart1.Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted
    MSChart1.Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted
    '设置x轴标题,同理可设置y轴标题,整个图表标题
    MSChart1.Plot.Axis(VtChAxisIdX).AxisTitle.Text = "time"
    MSChart1.TitleText = "temprature_time"

    基本上掌握这些都差不多能画出一个满足要求的图表了。还有一些比较不常用的属性可以自己编码试一下,可以看着英文意思猜一下等。

    这是我画图的一个截图,效果还可以。

        通过这次编写代码感觉自己在图形化程序上面存在弱势,哥要学习java了,以后这种程序就用java写了,vb太古老了,有点落后,有时间也想看看c#,多了解一门语言总是好的,用的时候多一种选择。

  • 相关阅读:
    netcore保持活动状态超时设置
    使用 .net core 自定义项目模板
    Prometheus(普罗米修斯)——适合k8s和docker的监控系统
    移动端调试神器vConsole--腾讯的
    .netcore项目部署到linux的docker里后,速度异常的慢
    GIT删除本地tag和远程tag
    .netcore里使用StackExchange.Redis TimeOut 情况解决方法
    asp.netcore Log4Net连接kafka的方法
    asp.netcore 高并发下使用HttpClient的方法
    [离散时间信号处理学习笔记] 7. z变换
  • 原文地址:https://www.cnblogs.com/huals/p/2634061.html
Copyright © 2011-2022 走看看