java mschart_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=arrayEnd 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 = 60MSChart1.Plot.Axis(VtChAxisIdY).ValueScale.Minimum= 16MSChart1.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"

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

356b37f4d4ef470d464e469f3253cec4.png

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

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值