teechart属性设置.docx
- 文档编号:1970528
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:14
- 大小:29.81KB
teechart属性设置.docx
《teechart属性设置.docx》由会员分享,可在线阅读,更多相关《teechart属性设置.docx(14页珍藏版)》请在冰豆网上搜索。
teechart属性设置
设计背景
基于服务器/浏览器架构的解决方案在越来越多的领域得到应用。
使用ASP脚本,我们可以方便地访问各种数据库,生成与用户交互的动态页面。
一般情况下,由浏览器解释要显示的结果,其中统计数据的显示结果一般采用HTML表格形式。
笔者在铁路车站Intranet系统的开发过程中,遇到要把数据库中的统计结果用统计图表(柱状图、折线图、饼图等)方式输出的问题。
因为统计图表在美观和易于理解等方面有着表格所不具备的优越性,所以这个问题具有一定的普遍性。
目前,针对这个问题,主要有3种可行的解决方案:
1.在浏览器端安装使用图表控件如MsChart等。
这样做的缺点是在客户端要安装和注册ActiveX控件,操作较为复杂,并且把客户端系统限制在Windows的范围内。
2.使用JavaApplet显示图形。
这样做开发难度较高,需要针对具体的应用要求编制Java绘图程序。
3.在服务器端使用控件动态生成图形文件(JPEG格式),此方法可以适用于任何流行的客户端浏览器。
本文讨论第3种方案,使用的控件是TeeChartProActiveX4.0版(目前最新版本为8.0(最新版本下载),另外TeeChart还有TeeChartfor.NET、TeeChartProVCL/CLX、TeeChartProforJava以及TeeChartforPHP)。
TeeChart控件应用
TeeChartProActiveX是西班牙SteemaSL公司开发的图表类控件,主要用来生成各种复杂的图表。
熟悉Delphi和C++Builder的编程人员对它不会陌生,因为在Delphi和C++Builder里包括了TeeChart的VCL版本。
本文将详细介绍TeeChart控件应用方法,本文使用的是TeeChartProActiveX4.0,它的试用版可以点击这里下载。
TeeChartProActiveX4.0的主要特性如下:
图表的坐标轴
Bar,Bar3D以及HorizontalBar序列
TChartListBox
图表主题
TColorBand工具
TCommander
自定义图表调色板
图表中的图例
新的“2DLighting”工具
新的SurfaceNearest工具
新增加的函数
图表编辑器
饼状图和圆环图序列
三维点序列
图表画布
图表序列组
输出格式
AllSerieswith"Pointer"property所有序列都拥有"Pointer"属性
图表的SeriesList属性
TChart1.SeriesList.ClearValues
TeeChartProActiveX4.0的这些特性使得它具有极大的灵活性,并且使用起来非常方便,只要写很少的代码,就可以做出各种复杂、漂亮的图表。
TeeChart图表控件类的属性和方法
TeeChart图表控件的主类是TChart。
TChart中使用了56个类、325个属性、125个方法以及28个事件,这使得TChart具有非常强大的功能。
本文仅简单地介绍其中一些重要类的属性和方法。
TChart.Height:
图表的高度(像素);
TChart.Width:
图表的宽度(像素);
TChart.Header:
图表的题头(Ititles类);
TChart.Series:
序列(Series类的数组);
TChart.Axes:
坐标轴(Iaxes类);
TChart.Legend:
图例(Legend类);
TChart.Panel:
面板(Ipanel类);
TChart.Canvas:
画布(Canvas类)。
Series是要显示的数据的主体。
在一个图表中可以有一个或多个序列,每个序列可以有不同的显示类型,如Line、Bar、Pie等等。
Axes控制图表坐标轴的属性,在缺省的情况下,坐标轴可以自动地根据不同的数据设置好标度范围和间隔,当然也可以手工调整。
Legend控制图表的图例显示。
Legend是图表中的一个长方形的用来显示图例标注的区域。
可以标注Series的名称或者Series中的项目和数值。
Panel可以设置图表的背景。
可以使用渐变的颜色或者图像文件作为整个图表的背景。
Canvas可以让设计者绘制自己的图形。
使用方法和Delphi中的Canvas一样。
有TextOut、LineTo、Arc等各种画图的方法可以调用。
TChart的一些属性实际上是其他类的变量,这些类又具有自己的属性和方法。
如Ititles类又具有Text、Color、Font等属性,我们可以用这些属性来设置题头的文本、颜色和字体。
TeeChart图表控件和其他的图表控件相比,有一个非常重要的特点是TeeChart图表控件可以把图表保存为一个JPEG格式的图形文件。
调用格式如下:
TChart.Export.SaveToJPEGFile(FileName,Gray,Performance,Quality,Width,Height)
其中FileName是JPEG文件的保存路径和文件名,路径应该是操作系统中的绝对路径,而不是IIS中的相对路径,IIS对相应的保存目录应该具有写权限。
Gray指明是否保存为黑白图像。
Performance指明JPEG是生成质量优先还是速度优先。
Quality是一个0到100的整数,100时JPEG质量最好,但文件最大;Quality越小则生成的文件越小,但图像质量也随之下降。
为了解决在多用户并发访问Web的情况下,JPEG文件互相覆盖的问题,我们使用了如下所示的一种JPEG文件的命名机制:
OutputJPEGFile=“Chart”&Session.Sessionid&
Replace(Time,“.”,“”)&“.jpg”
在文件名中包括了Sessionid和当前时间,并使用后台进程定期删除过期文件。
TeeChart控件应用实例
下面是一个简单的ASP程序,从中可以看到TeeChart图表控件在ASP中的使用方法。
程序的运行环境为:
Windows2000Professional、IIS5.0和TeeChartProActiveX.0测试版。
--引入TeeChart常数-->
--METADATANAME=“TeeChartPro4.0
ActiveXControl”TYPE=“TypeLib”
UUID=“{008BBE7B-C096-11D0-B4E3-00A0C901D681}”-->
<%
--建立ActiveXObject-->
SetTChart1=CreateObject(“TeeChart.TChart”)
--设置高度和宽度-->
TChart1.Height=250
TChart1.Width=500
--设置图表题头-->
TChart1.Header.Text.Clear
TChart1.Header.Text.Add“K180次旅客列车日发送人数统计图”
--设置图形背景-->
TChart1.Panel.Gradient.Visible=True
TChart1.Panel.Gradient.StartColor=RGB(200,255,200)
TChart1.Panel.Gradient.EndColor=RGB(255,255,255)
--添加一个序列-->
TChart1.AddSeries(scBar)
TChart1.Series(0).Clear
TChart1.Series(0).ColorEachPoint=True
TChart1.Series(0).Add180,“02/10”,clTeeColor
TChart1.Series(0).Add240,“02/11”,clTeeColor
TChart1.Series(0).Add210,“02/12”,clTeeColor
TChart1.Series(0).Add280,“02/13”,clTeeColor
TChart1.Series(0).Add218,“02/14”,clTeeColor
TChart1.Series(0).Add225,“02/15”,clTeeColor
--保存为JPEG文件-->
TChart1.Export.SaveToJPEGFileserver.mappath(“/teechart”)+“\MyChart.jpg”,False,JPEGBestQuality,85,TChart1.Width,TChart1.Height
%>
实现绘图步骤:
1.加入Teechart控件。
2.创建chart实例并设置相关全局属性(设置chart实例的属性将对所有其他成员,包括所有series实例产生影响)。
3.添加Series序列实例,设置该实例相关属性(设置实例化series的属性作用范围是该series实例,如果为单一series实例,可直接设置其属性而不设置chart实例),并绑定数据源。
常用属性:
(假设控件实例为WebChart1,设置全局属性也可通过实例化chart来设置,即Steema.TeeChart.ChartChart1=WebChart1.Chart;在此不考虑这种)
WebChart1.AutoPostback=false;//自动回发(默认)
WebChart1.GetChartFile="GetChart.aspx";
//处理数据页(默认),GetChart.aspx内容后附
WebChart1.Width=400;//显示宽度
WebChart1.Height=300;//显示高度
WebChart1.PictureFormat=Steema.TeeChart.Export.PictureFormats.Bitmap;
//显示图片的格式,默认PNG
WebChart1.TempChart=Steema.TeeChart.Web.TempChartStyle.Session;
//设置保存数据形式,默认File,一般选session。
Chart.Aspect(外观属性)
WebChart1.Chart.Aspect.View3D=false;//取消3D表示
Chart.Header(显示头)
WebChart1.Chart.Header.Visible=false;//是否显示头文字
WebChart1.Chart.Header.Text="顶部显示文字";
Chart.Axes(坐标轴)
WebChart1.Chart.Axes.Left.Title.Text="纵坐标文字显示";
WebChart1.Chart.Axes.Bottom.Title.Text="横坐标文字显示";
Chart.Legend(图例)
WebChart1.Chart.Legend.LegendStyle=Steema.TeeChart.LegendStyles.Auto;
//图例显示的样式,包含一下方面:
默认auto
WebChart1.Chart.Legend.Alignment=Steema.TeeChart.LegendAlignm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- teechart 属性 设置