DelphiChartTeeChart.docx

上传人:b****7 文档编号:10259177 上传时间:2023-02-09 格式:DOCX 页数:14 大小:23.21KB
下载 相关 举报
DelphiChartTeeChart.docx_第1页
第1页 / 共14页
DelphiChartTeeChart.docx_第2页
第2页 / 共14页
DelphiChartTeeChart.docx_第3页
第3页 / 共14页
DelphiChartTeeChart.docx_第4页
第4页 / 共14页
DelphiChartTeeChart.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

DelphiChartTeeChart.docx

《DelphiChartTeeChart.docx》由会员分享,可在线阅读,更多相关《DelphiChartTeeChart.docx(14页珍藏版)》请在冰豆网上搜索。

DelphiChartTeeChart.docx

DelphiChartTeeChart

键词:

Delphi,Chart,TeeChart,属性,用法--南山古桃原创--更新中(鉴于引用中较为详细,此后不再更新,20071129定稿)

(****转载敬请注明-本文出处:

南山古桃(nsgtao)的XX空间:

****)

南山古桃(nsgtao)正在做个需要绘制实时曲线的程序,在网上找Chart资料没找到,只好自己摸索了……

本文主要讲解Delphi中Chart,TeeChart的属性,方法及用法.Tchart分析报告,TeeChart使用指南,TeeChart控件介绍

1.AllowZoom:

Boolean

是否允许鼠标拖动来缩放图表

2.AnimatedZoom:

Boolean

拖动是否显示缩放过程

3.AxisVisible:

Boolean

显示和隐藏4个子图表

4.BufferedDisplay:

Boolean

True时图表首先画在内部画布上,可以防止图表闪烁,但耗费内存资源.

5.ChartHeight:

LongInt

以像素为单位,运行为只读,显示图表顶轴与底轴的高度,不包含页边距,Height包含页边距,

(****转载敬请注明-本文出处:

南山古桃(nsgtao)的XX空间:

****)

6.DepthAxis,LeftAxis,RightAxis,TopAxis,BottomAxis

Tchart共分为五个子图表,

LeftAxis,RightAxis,TopAxis,BottomAxis和DepthAxis

默认情况下只显示LeftAxis和BottomAxis子图表

可以通过Series属性的子属性HorizAxis与VertAxis进行设置

如:

chart1.Series[0].HorizAxis:

=aBothHorizAxis;

chart1.Series[0].VertAxis:

=aBothVertAxis;

chart1.BottomAxis.Title.Caption:

='nsgtao';

chart1.BottomAxis.Title.Font.Color:

=clRed;

7.Foot:

TChartTitle

在图表底部定义的文本和格式,在图表底部显示一些说明文字

Chart1.Foot.Text.Add('NsgtaoFoot');

(****转载敬请注明-本文出处:

南山古桃(nsgtao)的XX空间:

****)

8.Gradient:

TChartGradient

用于设置图表背景颜色:

是否显示背景色,背景色渐变的起始颜色和终止颜色,渐变方向等

以下是南山古桃(nsgtao)引用网上资源

引用1.关键词:

Tchart分析报告

引用2.关键词:

TeeChart使用指南,TeeChart控件介绍

***********************************************************************************************************************************

****************下面是南山古桃引用并整理的文章

***********************************************************************************************************************************

1         Tchart分析报告

(****转载敬请注明-本文出处:

南山古桃(nsgtao)的XX空间:

****)

1.1     [概述]

  TChart是delphi里面一个标准的图形显示控件。

它可以静态设计(atdesigntime)也可以动态生成。

1.2     [继承关系]

TObject

TPersistent

TComponent

TControl

TCustomControl

TWedgetControl

TChart

TCustomPanel

1.3     [tips]

1.3.1           ProVersion支持Bezier,Contour,Radar和point3D曲线

1.3.2           支持jpeg文件的导出

1.3.3           Chart中的Series可以连接到Table,Query,RemoteDataset(其他数据集)

1.3.4           TChart里的series的active属性可以实现对已绘制图形的显示或者隐藏

1.3.5           在TChart中,tchartSeries是所有具体series的父类,没有画出什么来的,用一个具体的series类来创建就可以了,比如用TLineSeries、TPieSeries、TPointSeries、TPointSeries等等都行

1.3.6           TTeeFunctionComponent可以实现在同一个TChart里面,一个Serries对另一个Serries的统计

1.4     [问题极其使用技巧]

   1.4.1           TChart中如何实现只有Y轴的放大与缩小功能?

设置BottomAxis或者LeftAxis的Automatic:

=false并同时设置Minimum,Maximum属性

   1.4.2           如何固定TChart中的坐标,不使TChart中的坐标跟随Series的变化而变化?

//设置底座标

withmyChart.BottomAxisdo

begin

   Automatic:

=false;

   Minimum:

=0;

   LabelStyle:

=talText;

end;

//设置左坐标

withmyChart.LeftAxisdo

begin

   Automatic:

=false;

   Minimum:

=0;

   Title.Angle:

=270;

   Title.Font:

=Self.Font;

   Title.Font.Charset:

=ANSI_CHARSET;

   Title.Font.Name:

='@宋体';

   Grid.Visible:

=False;

end;

//设置右坐标

withmyChart.RightAxisdo

begin

   Automatic:

=false;

   Title.Font:

=Self.Font;

   Title.Font.Charset:

=ANSI_CHARSET;

   Title.Font.Name:

='@宋体';

   Title.Caption:

='累计百分比(%)';

   Maximum:

=100;

   Minimum:

=0;

end;

   1.4.3           如何删除一个图形中的一个点?

使用Series的delete方法

   1.4.4           如何修改一个点的X或者Y值?

LineSeries1.YValue[3]:

=27.1;

{InBubbleSeries}

BubbleSeries1.RadiusValues.Value[8]:

=8.1;

{InPieSeries}

PieSeries1.PieValues.Value[3]:

=111;

   1.4.5           如果横坐标是时间(日期),如何进行设置?

{First,youneedtosettheDateTimepropertytoTrueinthedesiredXand/orYvalueslist.}

LineSeries1.XValues.DateTime:

=True;

{Second,usethesameabovedescribedmethods,butgivethevaluesasDate,TimeorDateTimevalues}

LineSeries1.AddXY(EncodeDate(1996,1,23),25.4,'Barcelona',clGreen);

   1.4.6           如何在chart中画出的曲线某个点上标记出该点的值?

Series.Marks.Visible:

=true;

Series.Marks.Style:

=smsValue;

   1.4.7           如何设置横轴或者纵轴的增长率?

Chart.BottomAxis.Increment:

=DataTimeStep[dtOneHour];

Chart.RightAxis.Increment:

=1000;

   1.4.8           如何对图象进行缩放?

TChart的ZoomRect或者ZoomPercent方法(Pie图可能不支持缩放)

(****转载敬请注明-本文出处:

南山古桃(nsgtao)的XX空间:

****)

1.5     [TChart可以绘制的图形]

   1.5.1           Line(TLineSeries)

   1.5.2           FastLine(TFastLineSeries)相对Line来说,它损耗了某些属性从而来实现快速绘制

   1.5.3           Bar(TBarSeries)

   1.5.4           Horizontalbar(THorizBarSeries)

   1.5.5           Area(TAreaSeries)

   1.5.6           Point(TPointSeries)

   1.5.7           Pie(TPieSeries)

   1.5.8           Arrow(TArrowSeries)

   1.5.9           Bubble(TBubbleSeries)

   1.5.10        Gantt(TGanttSeries)

   1.5.11        Sharp(TChartShape)

1.6     [TChart的实时绘制]

实时绘制对机器性能要求比较高,因此我们在编程的时候要注意下面几个方面:

ü        使用2D图形

ü        是Chart尽可能包含少的点

ü        如果需要,可以移除(remove)chart的legend(?

?

?

?

?

)和Title

ü        使用默认的字体和字体大小

ü        使用FastLineSeries

ü        使用实体(solid)画笔和画刷格式

ü        尽量避免使用圆形和环行bar样式

ü        不要使用背景图片和渐变效果样式

ü        把Chart的BevelInner和BevelOUter属性设置为bcNone

ü        如果需要,把TChart的AxisVisible属性设置为False

ü        把BufferedDisplay设置为false可以加速chart的重绘

1.7     [Scrolling]

  TChart有4中scroll选择(AllowPanning属性),分别是不允许Scroll(pmNone);水平Scroll(pmHorizontal);垂直Scroll(pmVertical);水平和垂直Scroll(pmBoth)

ProcedureScroll(ConstOffset:

Double;CheckLimits:

Boolean);

例子如下:

Chart1.BottomAxis.Scroll(1000,True);这段代码也等同于

WithChart1.BottomAxisdo

Begin

Automatic:

=false;

SetMinMax(Minimum+1000,Maximum+1000);

   End;

(****转载敬请注明-本文出处:

南山古桃(nsgtao)的XX空间:

****)

1.8     [TChart中的全局变量]

ü        TeeScrollMouseButton:

=mbRight;设置鼠标右键为TChart滚动键(默认)

ü        TeeScrollKeyShift   :

=[ssCtrl];要按住Control键才可以使Scroll滚动

1.9     [TChartSerries使用技巧]

   1.9.1           运行时候创建一个Serries,三种方法:

       1.VarMySeries:

TBarSeries;

MySeries:

=TBarSeries.Create(Self);

MySeries.ParentChart:

=Chart1;

       2.Chart1.AddSeries(TBarSeries.Create(Self));

       3.VarMyClass:

TChartSeriesClass;

MyClass:

=TBarSeries;

Chart1.AddSeries(MyClass.Create(Self));

   1.9.2           获得TChart中的Serries数组,也有三种方法

       1.MySeries:

=Chart1.SeriesList[0]

       2.MySeries:

=Chart1.Series[0]

       3.MySeries:

=Chart1[0]

   1.9.3           SerriesCount属性获得SeriesList中Series的个数

   1.9.4           隐藏TChart中的Series有三种方法,但是效果不等价

       1.Series1.Active:

=False;仅仅隐藏,当设置为true的时候还可以显示出来

       2.Series1.ParentChart:

=nil;隐藏,重新设置ParentChart为TChart时候可以显示

       3.Series1.Free;删除了Series.不可以恢复

   1.9.5           TChart中的数据排序

   WithSeries1do

begin

   YValues.Order:

=loAscending;

   YValues.Sort;

   Repaint;

end;

Ø        定位一个点(Loacateapoint)

Series1.XValues.Locate(123);

Ø        XValue和YValue都拥有的属性Total,TotalABS,MaxValue,MinValue

***********************************************************************************************************************************

****************下面是南山古桃引用XX网友zwl232的文章

***********************************************************************************************************************************

(****转载敬请注明-本文出处:

南山古桃(nsgtao)的XX空间:

****)

TeeChart使用指南

TeeChart控件介绍

TeeChart  Pro  ActiveX是西班牙Steema  SL公司开发的图表类控件,主要用来生成各种复杂的图表。

熟悉Delphi和C++  Builder的编程人员对它不会陌生,因为在Delphi和C++  Builder里包括了TeeChart的VCL版本。

TeeChart使用目的

如果你需要在程序中制作曲线图、条状图、饼状图等等,使用这个控件都将是你的明智选择。

它因为是已经被封装好的产品,所以使用方便,可控性强,不过有的时候会有点小BUG。

最好能找到源码,并自己打几个补丁。

TeeChart名词解释

Series

Axis

Scales

Line

Bar

Pie

TeeChart配置说明

ChartSeries(序列)  :

  在一个图表中可以有一个或多个序列,每个序列可以有不同的显示类型,如Line、Bar、Pie等等。

Add…  添加新的序列

Fast  Line(TFastLineSeries简单曲线图)、

Line(TLineSeries  3D曲线图)、

Bar(TBarSeries竖条状图)、

Horiz.  Bar(THorizBarSeries横条状图)

Area(TAreaSeries  区域图)、

Point(TPointSeries  点状图)、

Pie(TPieSeries  饼状图)、

Shape(TChartShape  实体图)、

Gantt(TGanttSeries  甘特图)、

Arrow(TArrowSeries  箭头图)、

Bubble(TBubbleSeries  泡泡图)

SeriesFormat:

修改序列的格式

SeriesPoint:

修改序列中点的样子

SeriesGeneral:

对序列的配置,包括Axis,Legend,Formats,Cursor。

SeriesMarks:

是否显示序列中每个点的值。

SeriesData  Source:

数据源。

可以采用No  Data,Random  Values,Function。

Title…  修改序列的名称。

Change…  修改序列的类型,可以从Line改变成Bar或者Pie。

ChartGeneral:

一些基本的参数设置。

Print  Priview…:

打印及打印预览

Export…:

输出

Margins:

页边空白

Allow  Zoom:

允许缩放

Animated  Zoom:

缩放过程是否是动态的,还是一次成功。

(如果图的点太多时,可以打开这个功能)

Allow  Scroll:

滚动条

ChartAxis  :

  控制图表坐标轴(上、下、左、右、深)的属性

Show  Axis:

是否显示坐标轴

ChartAxisScales:

调整坐标轴的比例

Automatic:

可以自动处理最大与最小值,也可以手工设置。

Change…:

可以自动处理增量,也可以手工设置。

Logarithmic:

对数的

Inverted:

反向的

ChartAxisTitle:

设置坐标轴的标题

Title:

标题

Angle:

标题的角度

Size:

标题的宽度

Font…:

标题的字体

ChartAxisLabels:

设置坐标轴的标签

Titles  :

   

ChartLegend(图例):

图表中的一个长方形的用来显示图例标注的区域。

可以标注Series的名称或者Series中的项目和数值。

Visible

Back  Color

Font

Frame

Position

Margin

Legend  Style

Text  Style

Resize  Chart

Inverted

%Top  Pos

%Color  Width   

Dividing  Lines…

Shadow

ChartPanel  (面板):

Panel可以设置图表的背景。

可以使用渐变的颜色或者图像文件作为整个图表的背景

Bevel  Inner  (Bevel  Innner  )  Width

Bevel  Outer  (Bevel  Outer)  Width

Back  Image:

图表的背景图

Style:

(Stretch伸展,  Tile瓦片,  Center居中)

Inside:

只显示在背后壁上

Panel  Color:

Panel的Inner的颜色

Border:

给控件加边界

Gradient(梯度):

梯度显示颜色

Visible、Start  Color…、End  Color…、

Direction(方向):

上下、左右、从中间

  

ChartPaging  :

图表有几页组成

Points  Per  Page(每页显示几个点):

0为所有的点显示在一页,其他按数字处理。

Scale  Last  Page:

最后一页按比例显示,使之充满整个图表。

(****转载敬请注明-本文出处:

南山古桃(nsgtao)的XX空间:

****)  

ChartWalls(壁)

Left  Walls:

Y轴的平面

Bottom  Walls:

X轴的平面

Back  Walls:

背后的平面

Pattern…(模式):

=(Solid实心,None无,Horizontal竖条纹,Vertical横条纹,

Diagonal对角线,Back.Diagonal反向对角线,Cross十字线,DiagonalCross对角十字线);

Border…(边线):

=(Solid实线,  Dash划线,  Dot点,   

Dash  Dot线点,  Dash  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1