核心提示:TeeChart是一个很好用的.net图表控件,易上手,使用方便,性价比高,好处不用多说了,大家可以访问它的官方网站 (http://www.steema.com) 了解详细的功能,也可以下载 试用版 本获取有关功能的详细细节。今天主要介绍的是如何在程序中使用TeeChart5.0,我今天用pb9给...
TeeChart是一个很好用的.net图表控件,易上手,使用方便,性价比高,好处不用多说了,大家可以访问它的官方网站 (http://www.steema.com) 了解详细的功能,也可以下载 试用版 本获取有关功能的详细细节。今天主要介绍的是如何在程序中使用TeeChart 5.0,我今天用pb9给大家介绍一下如何绘制图表。使用 regsvr32注册ocx,就可以在程序环境中使用了,插入一个teechart控件到window里面,具体见下图所示:
插入后就可以使用该控件了,teechart支持的图表类型很多,可以使用editor进行设置,具体不再赘述,可以参考下图
TeeChart主要有几个概念,一个是axis(轴),一个是series(序列),掌握了这两个基本的东西就可以进行设置和编程了。
看这一段代码:
1
2
3
4
5
|
chart. object .axis.top.visible= false //设置图表上界不显示 chart. object .axis.right.visible= false //设置图表右界不显示 chart. object .frame.visible= false //不显示边框 chart. object .header.text.clear() //由于teechart支持多行title,所以必须clear chart. object .axis.left.automatic= false //这个自动标注功能 |
通过以上的代码基本上就把设置完成了,具体的设置可以通过editor详细了解到,有时间自己研究吧。
那么如何来显示坐标轴呢,接着看!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
chart. object .axis.left.startposition=70 chart. object .axis.left.endposition=100 chart. object .axis.left.maximum=val[1] chart. object .axis.left.minimum=0 chart. object .axis.left.title.caption=item[1] chart. object .axis.bottom.title.caption= "勘探线" chart. object .series(0).clear() long hor,ver hor=chart. object .axis.addcustom(TRUE) ver=chart. object .axis.addcustom(FALSE) chart. object .axis.Custom(ver).automatic= false chart. object .axis.Custom(ver).minimum=0 chart. object .axis.custom(ver).maximum=val[2] chart. object .axis.Custom(ver).startposition=35 chart. object .axis.Custom(ver).EndPosition = 65 chart. object .axis.Custom(ver).Title.Angle = 90 chart. object .axis.Custom(ver).Title.Caption = item[2] chart. object .axis.Custom(hor).EndPosition = 100 chart. object .axis.Custom(hor).PositionPercent =35 chart. object .Series(1).VerticalAxisCustom = ver chart. object .Series(1).HorizontalAxisCustom = hor chart. object .series(1).clear() |
这段代码是设置两个坐标轴的代码,可以参考下面的图就明白了,当然这里面涉及到了自定义坐标轴的问题,具体可参考帮助文件,我就不吹了!哈哈
有了坐标轴,就可以显示数据了,代码如下:
1
2
|
chart. object .series(0).add(round(cc/nums,2),ktx,255) chart. object .series(1).add(round(dd/nums,2),ktx,255) |
这是向里面加了两个序列的数据,代码本来在循环里面,我拿出来供大家参考,要加多个数据到序列,多调用几次add就可以了。