收藏 分销(赏)

Delphi中ChartTeeChart的属性方法及用法.docx

上传人:可**** 文档编号:4255856 上传时间:2024-08-30 格式:DOCX 页数:15 大小:92.98KB
下载 相关 举报
Delphi中ChartTeeChart的属性方法及用法.docx_第1页
第1页 / 共15页
Delphi中ChartTeeChart的属性方法及用法.docx_第2页
第2页 / 共15页
Delphi中ChartTeeChart的属性方法及用法.docx_第3页
第3页 / 共15页
Delphi中ChartTeeChart的属性方法及用法.docx_第4页
第4页 / 共15页
Delphi中ChartTeeChart的属性方法及用法.docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、本文主要讲解Delphi中Chart,TeeChart的属性,方法及用法.Tchart分析报告,TeeChart使用指南,TeeChart控件介绍1.AllowZoom:Boolean是否允许鼠标拖动来缩放图表2.AnimatedZoom:Boolean拖动是否显示缩放过程3.AxisVisible:Boolean显示和隐藏4个子图表4.BufferedDisplay:BooleanTrue时图表首先画在内部画布上,可以防止图表闪烁,但耗费内存资源.5.ChartHeight:LongInt以像素为单位,运行为只读,显示图表顶轴与底轴的高度,不包含页边距,Height包含页边距,(*转载敬请注

2、明本文出处:南山古桃(nsgtao)的百度空间:*)6.DepthAxis,LeftAxis,RightAxis,TopAxis,BottomAxisTchart共分为五个子图表,LeftAxis,RightAxis,TopAxis,BottomAxis和DepthAxis默认情况下只显示LeftAxis和BottomAxis子图表可以通过Series属性的子属性HorizAxis与VertAxis进行设置如:chart1.Series0.HorizAxis:=aBothHorizAxis;chart1.Series0.VertAxis:=aBothVertAxis;chart1.Bottom

3、Axis.Title.Caption:=nsgtao;chart1.BottomAxis.Title.Font.Color:=clRed;7.Foot:TChartTitle在图表底部定义的文本和格式,在图表底部显示一些说明文字Chart1.Foot.Text.Add(NsgtaoFoot);(*转载敬请注明本文出处:南山古桃(nsgtao)的百度空间:*)8.Gradient:TChartGradient用于设置图表背景颜色:是否显示背景色,背景色渐变的起始颜色和终止颜色,渐变方向等以下是南山古桃(nsgtao)引用网上资源引用1.关键词:Tchart分析报告引用2.关键词:TeeChart

4、使用指南,TeeChart控件介绍*下面是南山古桃引用并整理的文章*1Tchart分析报告(*转载敬请注明本文出处:南山古桃(nsgtao)的百度空间:*)1.1概述TChart是delphi里面一个标准的图形显示控件。它可以静态设计(atdesigntime)也可以动态生成。1.2继承关系TObjectTPersistentTComponentTControlTCustomControlTWedgetControlTChartTCustomPanel1.3tips1.3.1ProVersion支持Bezier,Contour,Radar和point3D曲线1.3.2支持jpeg文件的导出1.

5、3.3Chart中的Series可以连接到Table,Query,RemoteDataset(其他数据集)1.3.4TChart里的series的active属性可以实现对已绘制图形的显示或者隐藏1.3.5在TChart中,tchartSeries是所有具体series的父类,没有画出什么来的,用一个具体的series类来创建就可以了,比如用TLineSeries、TPieSeries、TPointSeries、TPointSeries等等都行1.3.6TTeeFunctionComponent可以实现在同一个TChart里面,一个Serries对另一个Serries的统计1.4问题极其使用技

6、巧1.4.1TChart中如何实现只有Y轴的放大与缩小功能?设置BottomAxis或者LeftAxis的Automatic:=false并同时设置Minimum,Maximum属性1.4.2如何固定TChart中的坐标,不使TChart中的坐标跟随Series的变化而变化?/设置底座标withmyChart.BottomAxisdobeginAutomatic:=false;Minimum:=0;LabelStyle:=talText;end;/设置左坐标withmyChart.LeftAxisdobeginAutomatic:=false;Minimum:=0;Title.Angle:=2

7、70;Title.Font:=Self.Font;Title.Font.Charset:=ANSI_CHARSET;Title.Font.Name:=宋体;Grid.Visible:=False;end;/设置右坐标withmyChart.RightAxisdobeginAutomatic:=false;Title.Font:=Self.Font;Title.Font.Charset:=ANSI_CHARSET;Title.Font.Name:=宋体;Title.Caption:=累计百分比(%);Maximum:=100;Minimum:=0;end;1.4.3如何删除一个图形中的一个点?使

8、用Series的delete方法1.4.4如何修改一个点的X或者Y值?LineSeries1.YValue3:=27.1;InBubbleSeriesBubbleSeries1.RadiusValues.Value8:=8.1;InPieSeriesPieSeries1.PieValues.Value3:=111;1.4.5如果横坐标是时间(日期),如何进行设置?First,youneedtosettheDateTimepropertytoTrueinthedesiredXand/orYvalueslist.LineSeries1.XValues.DateTime:=True;Second,u

9、sethesameabovedescribedmethods,butgivethevaluesasDate,TimeorDateTimevaluesLineSeries1.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:=DataTimeStepdtOneHour;Chart

10、.RightAxis.Increment:=1000;1.4.8如何对图象进行缩放?TChart的ZoomRect或者ZoomPercent方法(Pie图可能不支持缩放)(*转载敬请注明本文出处:南山古桃(nsgtao)的百度空间:*)1.5TChart可以绘制的图形1.5.1Line(TLineSeries)1.5.2FastLine(TFastLineSeries)相对Line来说,它损耗了某些属性从而来实现快速绘制1.5.3Bar(TBarSeries)1.5.4Horizontalbar(THorizBarSeries)1.5.5Area(TAreaSeries)1.5.6Point(

11、TPointSeries)1.5.7Pie(TPieSeries)1.5.8Arrow(TArrowSeries)1.5.9Bubble(TBubbleSeries)1.5.10Gantt(TGanttSeries)1.5.11Sharp(TChartShape)1.6TChart的实时绘制实时绘制对机器性能要求比较高,因此我们在编程的时候要注意下面几个方面:使用2D图形是Chart尽可能包含少的点如果需要,可以移除(remove)chart的legend(?)和Title使用默认的字体和字体大小使用FastLineSeries使用实体(solid)画笔和画刷格式尽量避免使用圆形和环行bar样

12、式不要使用背景图片和渐变效果样式把Chart的BevelInner和BevelOUter属性设置为bcNone如果需要,把TChart的AxisVisible属性设置为False把BufferedDisplay设置为false可以加速chart的重绘1.7ScrollingTChart有4中scroll选择(AllowPanning属性),分别是不允许Scroll(pmNone);水平Scroll(pmHorizontal);垂直Scroll(pmVertical);水平和垂直Scroll(pmBoth)ProcedureScroll(ConstOffset:Double;CheckLimit

13、s:Boolean);例子如下:Chart1.BottomAxis.Scroll(1000,True);这段代码也等同于WithChart1.BottomAxisdoBeginAutomatic:=false;SetMinMax(Minimum+1000,Maximum+1000);End;(*转载敬请注明本文出处:南山古桃(nsgtao)的百度空间:*)1.8TChart中的全局变量TeeScrollMouseButton:=mbRight;设置鼠标右键为TChart滚动键(默认)TeeScrollKeyShift:=ssCtrl;要按住Control键才可以使Scroll滚动1.9TCha

14、rtSerries使用技巧1.9.1运行时候创建一个Serries,三种方法:1VarMySeries:TBarSeries;MySeries:=TBarSeries.Create(Self);MySeries.ParentChart:=Chart1;2Chart1.AddSeries(TBarSeries.Create(Self);3VarMyClass:TChartSeriesClass;MyClass:=TBarSeries;Chart1.AddSeries(MyClass.Create(Self);1.9.2获得TChart中的Serries数组,也有三种方法1MySeries:=Ch

15、art1.SeriesList02MySeries:=Chart1.Series03MySeries:=Chart101.9.3SerriesCount属性获得SeriesList中Series的个数1.9.4隐藏TChart中的Series有三种方法,但是效果不等价1Series1.Active:=False;仅仅隐藏,当设置为true的时候还可以显示出来2Series1.ParentChart:=nil;隐藏,重新设置ParentChart为TChart时候可以显示3Series1.Free;删除了Series.不可以恢复1.9.5TChart中的数据排序WithSeries1dobegi

16、nYValues.Order:=loAscending;YValues.Sort;Repaint;end;定位一个点(Loacateapoint)Series1.XValues.Locate(123);XValue和YValue都拥有的属性Total,TotalABS,MaxValue,MinValue*下面是南山古桃引用百度网友zwl232的文章*(*转载敬请注明本文出处:南山古桃(nsgtao)的百度空间:*)TeeChart使用指南TeeChart控件介绍TeeChartProActiveX是西班牙SteemaSL公司开发的图表类控件,主要用来生成各种复杂的图表。熟悉Delphi和CBu

17、ilder的编程人员对它不会陌生,因为在Delphi和CBuilder里包括了TeeChart的VCL版本。TeeChart使用目的如果你需要在程序中制作曲线图、条状图、饼状图等等,使用这个控件都将是你的明智选择。它因为是已经被封装好的产品,所以使用方便,可控性强,不过有的时候会有点小BUG。最好能找到源码,并自己打几个补丁。TeeChart名词解释SeriesAxisScalesLineBarPieTeeChart配置说明ChartSeries(序列):在一个图表中可以有一个或多个序列,每个序列可以有不同的显示类型,如Line、Bar、Pie等等。Add添加新的序列FastL

18、ine(TFastLineSeries简单曲线图)、Line(TLineSeries3D曲线图)、Bar(TBarSeries竖条状图)、Horiz.Bar(THorizBarSeries横条状图)Area(TAreaSeries区域图)、Point(TPointSeries点状图)、Pie(TPieSeries饼状图)、Shape(TChartShape实体图)、Gantt(TGanttSeries甘特图)、Arrow(TArrowSeries箭头图)、Bubble(TBubbleSeries泡泡图)SeriesFormat:修改序列的格式SeriesPoin

19、t:修改序列中点的样子SeriesGeneral:对序列的配置,包括Axis,Legend,Formats,Cursor。SeriesMarks:是否显示序列中每个点的值。SeriesDataSource:数据源。可以采用NoData,RandomValues,Function。Title修改序列的名称。Change修改序列的类型,可以从Line改变成Bar或者Pie。ChartGeneral:一些基本的参数设置。PrintPriview:打印及打印预览Export:输出Margins:页边空白AllowZoom:允许缩放Anim

20、atedZoom:缩放过程是否是动态的,还是一次成功。(如果图的点太多时,可以打开这个功能)AllowScroll:滚动条ChartAxis:控制图表坐标轴(上、下、左、右、深)的属性ShowAxis:是否显示坐标轴ChartAxisScales:调整坐标轴的比例Automatic:可以自动处理最大与最小值,也可以手工设置。Change:可以自动处理增量,也可以手工设置。Logarithmic:对数的Inverted:反向的ChartAxisTitle:设置坐标轴的标题Title:标题Angle:标题的角度Size

21、:标题的宽度Font:标题的字体ChartAxisLabels:设置坐标轴的标签Titles:ChartLegend(图例):图表中的一个长方形的用来显示图例标注的区域。可以标注Series的名称或者Series中的项目和数值。VisibleBackColorFontFramePositionMarginLegendStyleTextStyleResizeChartInverted%TopPos%ColorWidthDividingLinesShadowChartPanel(面板):Panel可以设置图表的背景。可以使用渐变的颜色

22、或者图像文件作为整个图表的背景BevelInner(BevelInnner)WidthBevelOuter(BevelOuter)WidthBackImage:图表的背景图Style:(Stretch伸展,Tile瓦片,Center居中)Inside:只显示在背后壁上PanelColor:Panel的Inner的颜色Border:给控件加边界Gradient(梯度):梯度显示颜色Visible、StartColor、EndColor、Direction(方向):上下、左右、从中间ChartPaging:图表有几页组成PointsPerPage(每

23、页显示几个点):0为所有的点显示在一页,其他按数字处理。ScaleLastPage:最后一页按比例显示,使之充满整个图表。(*转载敬请注明本文出处:南山古桃(nsgtao)的百度空间:*)ChartWalls(壁)LeftWalls:Y轴的平面BottomWalls:X轴的平面BackWalls:背后的平面Pattern(模式):=(Solid实心,None无,Horizontal竖条纹,Vertical横条纹,Diagonal对角线,Back.Diagonal反向对角线,Cross十字线,DiagonalCross对角十字线);Border(边线):=(Solid实线,Das

24、h划线,Dot点,DashDot线点,DashDotDot线点点,SmallDots小点)Transparent(透明)Chart3D3Dimensions(维):是否3维显示Orthogonal(直角的):3维显示为直角显示,则Elevation,Rotaion,Perspective被屏蔽ZoomText:坐标数字与图形一起缩放Zoom:图形的缩放Rotaion(旋转):关闭Orthogonal后,可以在Y轴上旋转Elevation(正视图):关闭Orthogonal后,可以在X轴上旋Horiz.Offset:在X轴移动图形Vert.Offset:在Y轴移动图形Perspe

25、ctive(透视):关闭Orthogonal后,将焦点沿Z轴移动。(*转载敬请注明本文出处:南山古桃(nsgtao)的百度空间:*)TeeChart使用实例/AddPagesNewTabSheet:=TTabSheet.Create(pgMain);withNewTabSheetdobeginParent:=pgMain;PageControl:=pgMain;Tag:=Ord(CountTypeIndex);Caption:=arrCountTypeCountTypeIndex;end;/AddChartsNewChart:=TChart.Create(NewTabSheet);withNe

26、wChartdobeginParent:=NewTabSheet;Title.Text.Add(网间结算+arrCountTypeCountTypeIndex+/天分布图);LeftAxis.Title.Caption:=arrCountTypeCountTypeIndex;BottomAxis.Title.Caption:=话单日期;Legend.Visible:=sbLegend.Down;Legend.Alignment:=laBottom;Legend.LegendStyle:=lsSeries;View3D:=sb3D.Down;Width:=NewTabSheet.Width;He

27、ight:=NewTabSheet.Height;end;/ClearSeriesAChart.SeriesSeriesIndex.Free;/AddSeriesNewSeries:=TLineSeries.Create(AChart);NewSeries.Title:=ANameList.StringsSeriesIndex;NewSeries.Marks.Visible:=True;AChart.AddSeries(NewSeries);/AddNameForSeriesAChart.SeriesListSeriesIndex.Title:=NewName;/ShowSeriesAChar

28、t.SeriesSeriesIndex.Active:=True;/EmptySeriesAChart.SeriesSeriesIndex.Clear;/FillSeriesAChart.SeriesSeriesIndex.AddXY();南山古桃(nsgtao)转自cooltown内容如下:(*转载敬请注明本文出处:南山古桃(nsgtao)的百度空间:*)最近开发要使用图表,Delphi里提供了图表开发的控件TChart,可惜帮助里没有DEMO代码,上网搜索了一下,竟然发现文章也少的可怜。没办法,自己丰衣足食,写代码试用,看帮助,读代码,搞了半天大概弄明白了TChart的使用方式,下面写一下

29、几个常见问题的解决。1.如何写一个TChart的HelloWorld?放一个控件到窗体上,然后写代码加入一个折线数据序列:varSeries:TLineSeries;beginSeries:=TLineSeries.Create(Chart1);Series.Add(100,aaa,clRed);Series.Add(200,AAA,clGreen);Chart1.AddSeries(Series);end;这样就会生成一个简单的折线图表,要生成其它类型的数据图表,可以添加不同的数据序列(各种图表的序列类型可以参考帮助文档)。2.如何设置图表的标题?TChart组件提供了Title属性可以这是

30、图表的标题,包括标题的内容、字体、对齐方式等都可以通过Title属性设置。最简单的设置方式:Chart1.Title.Text.Text:=图表的标题;3.如何修改图表的背景颜色和整个图表的颜色?TChart是一个窗体控件,可以通过修改Color属性设置图表颜色,这是一种最简单的方式:Chart1.Color:=clWhite;修改图表部分的背景色可以通过BackColor属性来实现:Chart1.BackColor:=clGreen;此外,TChart还提供了渐变的背景支持,通过Gradient控制:Chart1.Gradient.Visible:=True;Chart1.Gradient.

31、Direction:=gdFromTopLeft;Chart1.Gradient.StartColor:=clGreen;Chart1.Gradient.EndColor:=clYellow;4.TChart的3D效果如何控制?TChart提供了View3D属性,控制是否使用3D效果,View3dWalls属性控制是否显示左侧的3D墙效果(*转载敬请注明本文出处:南山古桃(nsgtao)的百度空间:*)5.如何不显示图表控件生成图表?很遗憾,TChart是一个Windows窗体控件,必须依附一个窗体或Windows控件才能使用。如果要不显示TChart的话,可以将TChart的Visible属

32、性设为False来使用。下面的例子创建了一个隐藏的TChart来生成图表:varChart:TChart;S:TChartSeries;TmpFile:string;beginChart:=TChart.Create(nil);tryChart.Parent:=Application.MainForm;Chart.Visible:=False;Chart.Title.Text.Text:=测试图表;S:=TBarSeries.Create(Chart);Chart.AddSeries(S);S.Title:=嘿嘿;S.AddXY(1,56,一月,clGreen);S.AddXY(2,67,二月

33、,clYellow);S.AddXY(3,34,三月,clBlue);S.AddXY(4,78,四月,clRed);Chart.View3D:=False;Chart.BackColor:=clWhite;Chart.Gradient.StartColor:=clWhite;Chart.Gradient.EndColor:=clWhite;Chart.Gradient.Visible:=True;TmpFile:=Application.ExeName+.bmp;Chart.SaveToBitmapFile(TmpFile);Image1.Picture.LoadFromFile(TmpFile);finallyChart.Free;end;end;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服