如何建立 VB应用程序的图表
在制作应用软件过程中,需要建立统计分析的模块,现有的 Windows 提供的控件,使用起来都不是特别的顺手。
后来使用了一个这样的控件,结合自己多年的软件开发经验,同时,也清楚广大编程人员的操作习惯。
这个控件的使用非常方便,而且可以说功能比较强大。下面我们就针对这个控件予以讲解。
下载地址是 : http://www.useway.com/usewaychart/UsewayChartV1.rar
一、简介
本控件是一个 ActiveX OCX 控件,你可以轻松的建立一个自己的图表。本控件和其他类似的控件相比有如下特点:
1、 可以建立 3 种图表的样式;
本控件可以建立 3 种图表即:
条形图、线形图、饼图。
如图:

2、 可以支持多数据同时显示在图表中,并且数据数量是灵活指定的;
3、 指定显示数据的方式非常简单,只需要采用逗号分隔的字符串赋值给 data 这个属性即可;
4、 每一种类型的图形赋值方式一样;
5、 支持非对称显示方式 ( 见下图 ) 。

二、使用方法
属性如下:
data :数据,以“ , ”分隔开的数字。
Rowtext :下面标示每行显示的文字,以“ , ”分隔开的文字。
Column :每列数据的数量
Header :列的标题,以“ , ”分隔开的文字。
BorderStyle :边框样式, 1 有边框, 0 没有边框
Caption :图表的标题文字
Drawtype :图表的类型, 1 线形, 2 条形, 3 饼图
Backcolor :背景颜色
注:
其他属性与 VB 中的标准控件的使用方法一致。
方法:
draw :在各个属性设置完毕后调用这个方法绘图。
** 编程思想要领: **
首先,把要显示的数据想象成一个表格:

因此,各个属性应该这样设置:
header=” 产值 ( 亿 ), 销售额 ( 亿 ), 毛利润 ( 亿 )”
rowtext=”1 月 ,2 月 ,3 月 ,4 月 ,5 月 ,6 月 ,7 月 ,8 月 ,9 月 ,10 月 ,11 月 ,12 月 ”
data=”22,24,26,28,32,35,32,32,31,28,29,30,11,12,16,18,22,25,22,22,21,18,19,20,6,5,8,9,10,7,5,8,9,11,12,13”
column=12
第二,我们确定这个控件的显示方式:
1、 确定有没有边框: borderstyle=0
2、 确定图表类型,线形图: Drawtype=1
3、 确定线条宽度: drawwidth=2
4 、确定显示标题:年度产值分析表
第三,调用绘图方法绘图。
在 VB 中插入了这个控件后代码输入如下:
Private Sub Command1_Click()
UsewayChart1.header = " 产值 ( 亿 ), 销售额 ( 亿 ), 毛利润 ( 亿 ) "
UsewayChart1.rowtext = "1 月 ,2 月 ,3 月 ,4 月 ,5 月 ,6 月 ,7 月 ,8 月 ,9 月 ,10 月 ,11 月 ,12 月 "
UsewayChart1.Data = "22,24,26,28,32,35,32,32,31,28,29,30,11,12,16,18,22,25,22,22,21,
18,19,20,6,5,8,9,10,7,5,8,9,11,12,13"
UsewayChart1.Column = 12
UsewayChart1.borderstyle = 0
UsewayChart1.drawtype = 1
UsewayChart1.DrawWidth = 2
UsewayChart1.Caption=" 年度产值分析表 "
UsewayChart1.draw
End Sub
显示效果如下:

修改一个属性,当我们将 drawtype 的属性设置为 2 的时候显示如图:

如果属性 drawtype 改为 3 显示饼图如下效果:

如果采用非对称显示的话代码如下:
Private Sub Command1_Click()
UsewayChart1.header = " 产值 ( 亿 ), 销售额 ( 亿 ), 毛利润 ( 亿 ) "
UsewayChart1.rowtext = "1 季度 ,2 季度 ,3 季度 ,4 季度 "
UsewayChart1.Data = "22,24,26,28,32,35,32,32,31,28,29,30,11,12,16,18,22,25,22,22,21,18,19,20,6,5,8,9,10,7,5,8,9,11,12,13"
UsewayChart1.Column = 12
UsewayChart1.BorderStyle = 0
UsewayChart1.drawtype = 1
UsewayChart1.DrawWidth = 2
UsewayChart1.Caption = " 年度产值分析表 "
UsewayChart1.draw
End Sub
效果:

三、我们再看一下其他的例子
其它例子 1 ,只显示一个饼图:
Private Sub Command1_Click()
UsewayChart1.drawtype = 3
UsewayChart1.DrawWidth = 2
UsewayChart1.Column = 8
UsewayChart1.Data = "35,13,34,34,11,52,73,14"
UsewayChart1.header = "h1"
UsewayChart1.rowtext = "d1,d2,d3,d4,d5,d6,d7,d8"
UsewayChart1.draw
End Sub
效果:

其它例子 2 ,只显示一组条形图:
Private Sub Command1_Click()
UsewayChart1.drawtype = 2
UsewayChart1.DrawWidth = 2
UsewayChart1.Column = 8
UsewayChart1.Data = "35,13,34,34,11,52,73,14"
UsewayChart1.header = "h1"
UsewayChart1.rowtext = "d1,d2,d3,d4,d5,d6,d7,d8"
UsewayChart1.draw
End Sub
效果:

呵呵,是不是很容易?