TeeChart经验总结.docx
- 文档编号:28863745
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:58
- 大小:3.23MB
TeeChart经验总结.docx
《TeeChart经验总结.docx》由会员分享,可在线阅读,更多相关《TeeChart经验总结.docx(58页珍藏版)》请在冰豆网上搜索。
TeeChart经验总结
TeeChart经验总结1.安装
我使用的是Delphi5,所以所有的测试,代码均为D5版本,看的时候要有一颗兼容的心.第三方组件,尽量使用有源码的版本,方便修改问题,也方便看懂功能,不然改都没法改.
安装TeeChart的话,推荐TeeChart Pro v8.01 with Full Source。
目录中有一个exe名为:
TeeRecompile.exe.
运行它.
点击:
BEGIN.编译完成,打开DelphiIDE.
我不记得是否会自动给环境里加入Sources目录了.
请在安装完成后检查Tools->EnvironmentOptions->Library->Directories->LibraryPath,是否包含了解压安装目录中的Sources目录.
目前为止..安装结束..
老版本的TeeChart安装,需要先卸载自身的TChart组件,也就是在Component->InstallPackages中不加载BorlandDecisionCubeComponents,然后再使用TeeChart的bpg安装Dcl*.dpk,然后添加LibraryPath.
TeeChart经验总结2.初识
完成了安装以后,在additional选项卡里,就可以选择TChart进行使用.
在Options->Language->Change中,可以修改TeeChartEditor为中文菜单,但是不推荐这样做,毕竟写代码还是得用英文的.
EditChart:
打开TeeChartEditor界面,可以进行Series,Axis,Wall之类的参数编辑.
PrintPreview:
打印预览...
ExportChart:
可以将Chart导出图片之类的格式.
CustomAxes:
可以编辑自定义Axis,也就是轴
Seires:
可以编辑曲线序列,也就是数据集合.
先贴一张TeeChartEditor的图.
在编辑器里,可以对TChart的一系列参数进行修改,基本上所有的TChart功能都可以在Editor里通过修改参数的所见即所得的方式来得以实现.
首先,TChart有一个Panel,这个是Axis,Series显示的基础.
Axis也就是一般所说的轴,比如常说的坐标系里的X轴Y轴.
Series顾名思义,是一个序列,也就是数据序列,Series要绑定在Axis才会显示出来,因为TeeChart里的Series种类众多,有常见的Line,Fastline,Bar,Point,Pie等等,所以抽象的理解其为一个离散的数据集合比较好.
先来看一个Demo,并说明这个Demo用到了TeeChart里的哪些功能,在以后的文章里会逐步解释名词定义和功能的实现.
Panel的设置,以后会具体讲到,这里只是更改了Panel的颜色,以及Walls->BackWall的颜色.
用到了2个自定义的Axis,4个FastLine的Sereis,
将Legend(图列说明,也就是Series的名称颜色的集合显示)显示出来.
使用了Titles中的Title,用于显示一些与图相关的信息.
用到了几个Tools,一个用来显示Paging,一个用来显示所看到的游标内容.
TeeChart经验总结3.Panel和Walls
Walls为Series表现的区域,有Left,Right,Bottom,Back之分,其中Left,Right,Bottom都为3D显示时候用的,Back就是Series绘图区域.
先说Panel,看图:
Color是用来修改Panel显示的颜色,如果Walls的Transparent属性为True,那么都会显示这个颜色,如果为False,就可以自行定义颜色显示.
BakImageInside,顾名思义,就是让背景图片是否显示在BackWall里.
Borders:
用来设计Panel的边缘,都很简单.
Separation:
是和Walls的间隔.
Margins:
边距,用来设置Panel与Walls的边距.
有两种设置方式,一种是百分比,一种是像素.
Gradient:
渐变.
背景的颜色渐变,这个应该是TeeChart的新功能,Title,Tools,Panel,Walls等都可以设置这个属性,这个功能不算复杂,不多介绍了.只要试试就明白了.
Shadow:
阴影,同样很多部分都有这个属性.也一样..这个属性没什么好多说的.
Image:
图像.
可以载入一个图像来替代背景.这个功能有点意思..因为还提供了Filters(滤镜).
因为Axis显示的时候是在Panel,所以Margins可能因为Axis的多少而需要调节.Titles,Legend也同样要显示在Panel上,需要考虑一下布局的问题.
接下来说Walls,之前说过了Walls是用来显示Series的地方,而且Left,Right,Bottom都是用来参与3D效果的显示.
BackWall比其他的Wall多了一个Shadow的属性,其他基本都一样,所以以下就只贴BackWall的图了.
VisibleWalls:
是否显示Walls,旁边的Size是用于3D显示时,Wall的厚度.
Color,Border,Gradient,Image,Shadow这些属性基本和Panel的一样.
Pattern为Wall的填充图案.
Position表示该Wall的显示区域.
独立Wall里的Size,也是指该Wall的厚度.
Transparency依然是透明度的意思.
因为Wall为Series的显示区域,在用色上除了要考虑习惯以外,打印图片时,最好将Gradient取消,将Wall和Panel的颜色变为白色,这样可以节省打印的油墨.
TeeChart经验总结4.Titles和Legend
Titles分为四个:
Title,SubTitle,SubFoot,Foot.
这4个的区别其实就是默认的位置.从名字也可以猜出.
Visible:
可见.
AdjustFrame:
适应框架.应该是根据Text内容调整以适应大小.
Alignment:
排列位置,在Positon如果使用Custom,则这个属性失效.
Text:
该Title显示的文字内容.
Edit:
编辑Text.
Custom:
前面提过了,可以自定义Title的显示位置.
Vert.Margin:
垂直空白,是指和Wall之间的距离.当Custom选择时,则无效.
Color:
背影颜色.
Pattern:
图案
Transparent:
透明,和Panel属性一致(因为Title显示在Panel上)
Transparency:
透明度.
其他如:
Text,Gradient,Shadow,Picture就不一一介绍了,都是常规属性.记住一点当Format->Transparent被选择后,Gradient,Shadow,Picture均失效,都继承Panel的相应属性.
//----------------------------------------------------------------------------------------------------------
Legend为Series的说明,可以描述Series的Names,Values,LastValues,等等.
Visible:
显示Legend
Inverted:
反转显示顺序
FontSeriesColor:
使显示字体的颜色与Series颜色一致.
LegendStyle:
Legend的显示内容,Automatic(自动),SeriesNames(名称,确切的说其实是Series的Title),SeriesValues(数据),LastValues(最后一个点的数据,所有的Series),SeriesGroups(没用过...).
TextValue:
和LegendStyle对应的一些设置,不细说了.
NoCheckBoxes:
是否在对应Series前显示CheckBox或者RadioButton.可以直接选择是否显示该Series在曲线上.
Vert.Spacing:
垂直间隔.
DividingLine:
每个Item之间的分隔线.
ResizeChart,根据Legend的大小来调整Wall的大小.
Symbols:
Legend前面的那个颜色区域.
Title:
Legend的标题.
Border,Text,Gradient,Shadow,Picture这些和之前一些属性类似.
TeeChart经验总结5.Axis
开始写一些比较重要的内容了.Axis,坐标系里的坐标轴.TeeChart默认两个X轴:
Top,Bottom;有若干个Y轴.
TeeChart的Y轴,可以显示在Wall的左边,也可以显示在Wall的右边,可以100%显示,也可以分段显示,意思就是可以在一个Axis的位置上分段显示多个Axis,每个Axis占用一部分.
如下图:
下面介绍一下Axis的属性.
左上角的Visible,可以关闭所有Axis的显示,之前提过Series的显示依赖于Axis,如果Axis被隐藏,则Series同样被隐藏.
Behind:
这个是3D显示用到的属性,将Axis显示在BackWall上还是显示在最前面.
LeftAxis,RightAxis,TopAxis,BottomAxis,DepthRight,DepthTop:
和名字的说法一样,都是TeeChart默认创建的Axis,也可以根据需要自行定义Axis.
Scales->
Options->
Automatic:
根据所属该Seires的值自行设置Minimum,Maximum,Increment.
Visible:
单独控制该Axis的显示.
Inverted:
反向显示.
Logarithmic:
对数.可以以某对数为底,处理显示值.比如LogP-H图这种.
Minimum,Maximum,Increment:
这些就是设置Axis显示的最小值,最大值,以及增量.
Titles->用来设置Axis显示的名称,也可以设置显示的角度.
Labels->显示Axis每个增量的数值.
Mutile-Line:
多行显示.
RoundFirst:
感觉像是对第一个值取整.
LabelOnAxis:
在Axis也标记.
Alternate:
交替显示.
Min.Separation%:
Label的最小分隔.
Style:
显示风格.
Size:
Label占用的大小,如果设置为0,就是自动.
Angle:
Label显示的角度.
Ticks->记号.Axis上小分隔的记号.
Grid->设置Axis的显示格线.如果Y轴过多,最好只显示一个Axis的Grid,不然显示起来会很乱.
Grid..:
用来设置线的属性,Width,Space之类的.
Z:
3D显示时用到的属性.
Drawevery:
每几个分隔画一条Grid线.
Minor..:
Grid中的Grid.在前面Grid中继续画Grid.
Position->对于Vertical/HorizontalAxis比较多的时候,Position的设置就显得尤其重要了.
Position%:
设置Axis的位置,如果是Vertical,没有选中Otherside,那就是默认在左边的Axis,正就是向右,负就是向左.
Start%,End%:
这个就是前面那个多个Axis实现方式.即每个Axis占用的范围.
Z%:
3D显示使用.
Otherside:
VerticalAxis,不选中为Left,选中为Right;HorizontalAxis,不选中为Bottom,选中为Top,Position%均是从Wall的边缘开始算起.
Horizontal:
选中就是水平方向的Axis,不选中就是垂直方向的Axis.
Otherside,Horizontal都是自定义Axis才可以使用的.
//-----------------------------------------------------------------------------------------------
这是一个Axis设定Demo界面.
其中使用为Create和Visbile
名称为Axis的Title
最小值为Axis的Minimum
最大值为Axis的Maximum
根据最小值和最大值来计算Increment值.
单位并不是Axis的属性,在这里只是用于显示和Series自动判断绑定在哪个Axis的凭据.
颜色就是Axis的Color.
X坐标轴是每页可显示的范围,因为要用到分页.
坐标轴格线即是Grid,如果Vertical,Horizontal有多个的话,最好各只显示一个Axis的Grid.
TeeChart经验总结6.Series之1:
Line
TeeChart提供了很多类型不同的Series,下面是比较常用的.
创建Series可以通过TeeChartEditor,如下
View下面,可以选择显示
或者使用代码创建,如下SeriesName(选中就可以修改Name,不选中可以修改Title),SeriesGroup;可以创建SeriesGroup进行管理.
Clone可以复制一个新的Series,Change可以修改已经创建好的Series的类型.
∙Series :
= TFastLineSeries.Create(aChart);
∙//线所在Chart
∙Series.ParentChart :
= aChart;
∙//指定自定义Axis
∙Series.CustomVertAxis :
= aAxis;
∙//线宽度
∙Series.Pen.Width :
= aPenWidth;
∙//线颜色
∙Series.Color :
= aColor;
∙//线名称
∙Series.Title :
= aTitle;
Series常用的添加数据函数
∙Function Add(Const AValue:
Double; Const ALabel:
String='';
∙ AColor:
TColor=clTeeColor):
Integer; overload; virtual;
∙Function AddArray(Const Values:
Array of TChartValue):
Integer; overload;
∙Function AddNull(Const Value:
Double):
Integer; overload;
∙Function AddNull(Const ALabel:
String=''):
Integer; overload; virtual;
∙Function AddNullXY(Const X,Y:
Double; Const ALabel:
String=''):
Integer; virtual;
∙Function AddX(Const AXValue:
Double; Const ALabel:
String='';
∙ AColor:
TColor=clTeeColor):
Integer;
∙Function AddXY(Const AXValue,AYValue:
Double; Const ALabel:
String='';
∙ AColor:
TColor=clTeeColor):
Integer; virtual;
∙Function AddY(Const AYValue:
Double; Const ALabel:
String='';
∙AColor:
TColor=clTeeColor):
Integer;
下面开始说LineSeries.
Border...:
用来修改在3D显示LineSeries边缘是否显示,颜色,宽度等等.在非3D情况下,用于LineSeries的显示,宽度等等.
Color...:
LineSeries的颜色.
Pattren...:
还是用于3D显示的图案.
Drak3D:
3D阴影.
ColorEach,ColorEachLine:
每个点之间的线一种颜色,这个被选中,则Color属性无效.
Clickable:
可点击.
LineMode:
Stairs:
阶梯;Inverted:
反转.
OutLine:
轮廓.这个功能实现的很怪,如果修改了这个,则SeriesColor无效.
Height3D:
3D显示下Line的高(厚)度.
Stack:
这是一个比较复杂的设置.当有多个LineSeries的时候,这个属性用来表示这些个LineSeries的关系.
None:
在3D显示中,每个LineSeries一个独立的ZOrder.
Overlap:
交错,在3D显示中,在同一个ZOrder中显示这些LineSeries.
Stack,Stack100:
比较Line数值,前者使用实际值,后者使用0-100.数学比较差..不知道该如何描述.
TreatNulls:
处理空值.分为:
Don'tPaint(不绘),Skip(跳过),Ignore(忽略).Series里有一个基础方法AddNull.
Shadow:
3D显示的时候没有试出来,2D显示的时候很明显.
Gradient:
3D显示时将Z上颜色渐变色.
Line其实是通过AddXY或者类似的函数添加的点连接而成的曲线,Point就是是否来显示这个点,以及显示这个点的属性.
大部分的属性之前都介绍过.
ShowInLegend:
显示在Legend中.
Cursor:
游标,只有当之前的Clickable被选中,这个属性才有用.
Depth:
单独设置LineSeries的深度,如果选择Auto,则和Chart整体保持一致.
HorizontalAxis:
指定LineSeries的水平Axis.
VerticalAxis:
指定LineSeries的垂直Axis.
DateTime:
把Axis的值设置为时间.设置这个属性只要修改Series.XValues.DateTime或者Series.YValues.DateTime即可.做柱形图的月份统计,这个属性经常被用到.
Formats:
设置显示值的格式.
ShowInThisEditor:
是否显示在TeeChartEditor内.
Sorts:
排序.
Marks,标记,用于显示添加数据这些函数中的ALabel参数,或者其他的Style.如下:
∙TSeriesMarksStyle=( smsValue, { 1234 }
∙smsPercent, { 12 % }
∙smsLabel, { Cars }
∙smsLabelPercent, { Cars 12 % }
∙smsLabelValue, { Cars 1234 }
∙smsLegend, { (Legend.Style) }
∙smsPercentTotal, { 12 % of 1234 }
∙ smsLabelPercentTotal, { Cars 12 % of 1234 }
∙ smsXValue, { 1..2..3.. or 21/6/1996 }
∙ smsXY, { 123 456 }
∙smsSeriesTitle, { Series1 } // 8.0
∙smsPointIndex, { 1..2..3... } // 8.0
∙smsPercentRelative { 100%..90%..120%... } // 8.0
∙);
其他的比如Arrows(箭头),Symbol(符号,这个和之前在Legend中介绍的那个属性一样),剩下的属性之前都提到过.
TeeChart经验总结7.Series之2:
Bar
以后不贴TeeChartEditor的图了.尽量文字说明,也方便查找属性.
BarSeries.BarStyleBar的显示类型
∙ //矩形,椎体,倒椎体
∙//圆筒,椭圆,箭头,渐变矩形,圆锥体,斜面
∙//斜立方体,钻石型,反箭头,倒圆锥体
∙TBarStyle=( bsRectangle, bsPyramid, bsInvPyramid,
∙ bsCilinder, bsEllipse, bsArrow, bsRectGradient, bsCone, bsBevel,
∙ bsSlantCube, bsDiamond, bsInvArrow, bsInvCone);
BarSeries.ColorEachPoint每个Bar独立颜色
BarSeries.Brush.Style刷子类型,也就是Bar的显示图案
BarSeries.Brush.Color
BarSeries.Brush.BackColor
BarSeries.Brush.Image
以上四个属性,就是TeeChartEditor里的Pattern设置.
∙TBrushStyle = (bsSolid, bsClear, bsHorizontal, bsVertical,
∙ bsFDiagonal, bsBDiagonal, bsCross, bsDiagCross);
BarSeries.Gradient渐变色,配合bsRectGradient使用.
BarSeries.TickLines标记线,用于在Bar上画分隔线.
BarSeries.Dark3D3D投影效果显示
BarSeries.Depth
BarSeries.DepthPercent
BarSeries.CustomBarWidth
BarSeries.BarWidthPercent
BarSeries.OffsetPercent
以上为设置BarSeries的深度(3D显示),深度百分比(和Chart设置的3D设置比);宽度,宽度百分比;位移(水平方向).
BarSeries.Shadow用于显示阴影,在3D和2D下均可显示.
BarSeries.BarPen用来设置Bar外框的一些显示属性.
BarSeries.MultiBar多个Bar的显示方式.
∙TMultiBar=(mbNone,mbSide,mbStacked,mbStacked100,mbSideAll,mbSelfStack);
贴
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TeeChart 经验总结
![提示](https://static.bdocx.com/images/bang_tan.gif)