资源预览内容
第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
第9页 / 共51页
第10页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
5.1.1 静态图表分析技术静态图表是指不需要通过连接数据库提供数据,而绘制出的图表。静态图表主要通过 TChart 组件实现,通过该组件可以以图表的形式来对数据进行分析。该组件提供的图表类型包括折线图表(Line) 、条型图表(Bar) 、区域图表(Area ) 、点型图表( Point) 、饼型图表(Pie) 、甘特图表(Gantt) 、箭型图表(Array) 、泡沫图表(Bubble ) 、图形图表(Shape)等。下面对图表的常用样式进行具体介绍。折线图表(Line)用于显示等时间间隔的变化趋势,主要强调时间性和变动率,折线图的分类轴通常表现为时间,例如年、季度、月份、日期等。如图 5.1 所示。图 5.1 折线图表条型图表(Bar)用于显示各个项目之间的比较情况,它主要强调的是各个值之间的比较。条形图又可以转变成锥型图、柱型图、椭圆图、箭型图等。如图 5.2 所示。图 5.2 条型图表区域图表(Area)用于表示不同数据系列之间的对比关系,强调随时间变化的幅度,同时也显示各数据系列与整体的比例关系。如图 5.3所示。图 5.3 区域图表饼型图表(Pie)用于表示各个数据之间的比例分配关系。饼型图表还可以制作成分离型饼图,它可以将一些重要的数据以饼型块的形式分离出来。如图 5.4 所示。图 5.4 饼型图表点型图表(Point)用于显示单个或者多个数据系列的数据在某种间隔条件下的变化趋势。1图表类型的生成在制作图表之前首先要添加图表类型,添加图表类型有两种方法,一种方法是通过双击 TChart 组件,在打开的对话框中单击“ADD”按钮,然后在打开的“TeeChart Gallery”对话框中选择相应的图表类型。此种方法适用于使用某种固定图表类型的情况。当制作的图表种类繁多或个数不一时,可以通过 TChart 组件的AddSeries()方法来动态创建图表类型,该方法的语法格式如下:procedure AddSeries(ASeries : TChartSeries);参数 ASeries 表示一个图表组件,该方法可以动态加载的类型有:TLineSeries(拆线图) 、TAreaSeries(区域图) 、TPointSeries (点型图)、TPieSeries(圆饼图) 、TBarSeries(条型图) 、THorizBarBarSeries(水平条型图) ,在使用以上类型时,必需在单元中添加 Series 单元。下面用一个小例子来进行说明:interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series;.implementation$R *.dfmprocedure TForm1.FormCreate(Sender: TObject);varmyseries :TBarSeries;beginmyseries := TBarSeries.Create(myseries); /创建一个图表类型chart1.AddSeries(myseries);myseries.AddArray(1,6,5,9,8,7,12,5,23);end;动态创建图表也可以直接用图表类型来进行创建,主要是用图表类型的 Create()方法来创建一个对象,再通过该对象的 ParentChart 属性来设置其父级窗体(Chart1) ,然后对图表进行控制,下面以条型图为例实现动态创建图表。myseries := TBarSeries.Create(myseries);myseries.ParentChart:=chart1;myseries.AddArray(1,6,5,9,8,7,12,5,23);2在图表中添加数据在添加完图表类型后,需要在图表上添加数据信息,添加数据信息的方法有很多,通过 AddArray()、AddXY()、Add() 方法都可以实现。l AddArray()方法在图表中批量添加数据信息,其语法如下:Function AddArray(const Values:Array of Double):Integer;参数 Values 是一个双精度型的数组,用于记录所有数据的值。l AddXY()方法在图表中 X 轴和 Y 轴上的指定位置添加数据信息。语法如下:Function AddXY(const AXValue : Double;Const AYValue : Doule;const Alabel : String;Acolor : TColor):Integer;参数 AXValue 表示在图表中添加数据的 X 轴位置,参数 AYValue 表示添加数据的高度,也就是数据量,参数 Alabel 表示添加数据的名称,参数 TColor 表示在图表中添加数据块的颜色。通过该方法可以在图表的 X 轴上的任意位置添加数据,其应用如下:Chart1.Series0.AddXY(1,10,addxy,cllime); /可以按 X 轴的任意位置进行添加Chart1.Series0.AddXY(0,0,addxy,cllime); Chart1.Series0.AddXY(2,30,addxy,cllime);Chart1.Series0.AddXY(3,50,addxy,cllime);l Add()方法按照指定的顺序将数据添加到图表中。语法如下:Function Add(const Avalue : Double;const Alabel : Srting;AColor : TColor):Integer;参数 Avalue 表示要添加数据的数量,参数 Alabel 表示要添加数量的名称,参数 AColor 表示添加数据块的颜色。该方法是以添加的顺序在图表中进行显示,与 AddXY()方法不同,当添加的顺序改变时,图表中数据的顺序也会改变。其应用如下:Chart1.Series0.Add(30,打印机,clTeeColor);Chart1.Series0.Add(10,主板,clTeeColor);Chart1.Series0.Add(20,扫描仪,clTeeColor); Chart1.Series0.Add(50,显示器,clTeeColor);Chart1.Series0.Add(30,CPU,clTeeColor);3图表背景效果的设置添加完数据以后,就可以制作出一个最基本的图表,为了使图表更加美观,可以为图表设置背景颜色。通过 Color 属性可以设置图表的背景颜色,通过 Gradient 属性还可以设置图表背景颜色的渐变效果,该属性中包含了 Visible、EndColor、StartColor 属性,当 Visible 属性为 True 时,才可以利用 EndColor、StartColor 和 Direction 属性对背景颜色进行渐变设置。在用 Direction 属性设置表格背景的渐变效果时,应在单元中添加 TeCanvas 单元,其渐变效果的样式有:gdbottomtop(从下向上渐变) 、gdtopbottom(从上向下渐变) 、gdRightLeft(从右向左渐变) 、gdLeftRight(从左向右渐变) 、gdfromcenter(从中间向四边渐变) 、gdfromtopleft(左上角渐变) 、gdfrombottomleft(左下角渐变) 。下面用一个小例子来实现如何对图表背景进行渐变效果。Chart1.Gradient.Visible := True;Chart1.Gradient.EndColor := clLime; Chart1.Gradient.StartColor := clWhite;Chart1.Gradient.Direction := gdRightLeft;4图表矩形区域的高亮度显示在图表中显示数据信息后,通过 X 轴和 Y 轴会形成一个矩形区域,数据将显示在该区域内。通过对矩形区域的高亮度显示,可以使图表具有另一种风格。有三种方法可以实现:一是用 BackColor 属性对图表的矩形区域进行填充颜色;二是用 Canvas 属性下的 Frame3D()方法在指定的矩形区域中画框。Frame3D()方法的语法格式如下:Procedure Frame3D(Rect : Trect;TopColor : TColor;BottomColor : TColor;Width : Integer);参数 Rect 表示矩形区域;参数 TopColor 表示左边框和上边框的颜色;参数 BottomColor 表示右边框和下边框的颜色;参数 Width 表示边框的宽度。下面用一个小例子来实现在矩形区域中画边框。 With Chart1,Canvas dobeginBrush.Style:=bsClear;Pen.Color:=clRed;Frame3D(ChartRect,clRed,clBlue,2);end;其中 TChart 组件的 ChartRect 属性用于确定图表中坐标轴所组成的矩形区域。三是用 Frame 属性设置图表框架(线条) 。Frame 属性包含 Color、Style、Width 属性,它们分别表示框架的颜色、风格及宽度。下面用一个小例子对图表的框架进行设置。procedure TForm1.FormCreate(Sender: TObject);beginChart1.Frame.Color := clBlue;Chart1.Frame.Style := psSolid;Chart1.Frame.Width := 2;end;当然,为了能够更好的区分图表中的各个数据,可以将每个数据的数据块以不同的颜色进行显示。除饼型图表外,其他的图表在生成以后,其数据块的默认颜色为红色,可以通过 ColorEachPoint 属性的设置来改变数据块的颜色,当该属性为 False 时,数据块的颜色为默认颜色,否则,将根据该组件所分配的默认随机颜色来设置各数据块的颜色。5在图表中添加标题或文本在制作图表后,为了能够使观察者清楚图表的用处,可以在图表中添加标题或文本,对其进行说明。可以利用LeftAxis、RightAxis、TopAxis、BottomAxis 属性分别在图表的左侧、右侧、上方和下方添加标题。下面以 LeftAxis 属性为例,在图表的左侧添加一个标签。Chart1.LeftAxis.Title.Caption := 2005 年产品销售图表;Chart1.LeftAxis.Title.Font.Size := 8;Chart1.LeftAxis.Title.Font.Color := clBlue;Foot 属性用于设置图表底部的文本和格式。在该属性中还包含了Text、Alignment 、Font 等属性,分别用于获取显示的说明文字,文字的显示样式及其文字的字体设置等。下面以一个小例子来进行说明。with Chart1.Foot dobeginText.Add(图表的说明性文字);Alignment := taCenter; Font.Size := 8;Font.Color := clRed;end;在图表上进行文字说明,也可以用绘图的形式在图表上绘制文字,主要通过 Canvas 属性的 TextOut()方法在图表上进行绘制。该方法的语法格式如下:Procedure (x : Integer;y : In
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号