分享
分销 收藏 举报 申诉 / 15
播放页_导航下方通栏广告

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

  • 上传人:可****
  • 文档编号:4255856
  • 上传时间:2024-08-30
  • 格式:DOCX
  • 页数:15
  • 大小:92.98KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Delphi Chart TeeChart 属性 方法 用法
    资源描述:
    本文主要讲解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)的百度空间: ****) 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('Nsgtao Foot'); (**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间: ****) 8.Gradient : TChartGradient 用于设置图表背景颜色:是否显示背景色,背景色渐变的起始颜色和终止颜色,渐变方向等 以下是 南山古桃(nsgtao) 引用网上资源 引用1.关键词:Tchart分析报告 引用2.关键词: TeeChart使用指南,TeeChart控件介绍 *********************************************************************************************************************************** ****************下面是 南山古桃 引用 并整理的文章 *********************************************************************************************************************************** 1 Tchart分析报告 (**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间: ****) 1.1 [概述] TChart是delphi里面一个标准的图形显示控件。它可以静态设计(at design time)也可以动态生成。 1.2 [继承关系]  TObject TPersistent TComponent TControl TCustomControl TWedgetControl TChart TCustomPanel 1.3 [tips] 1.3.1 Pro Version支持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 TTeeFunction Component可以实现在同一个TChart里面,一个Serries对另一个Serries的统计 1.4 [问题极其使用技巧] 1.4.1 TChart中如何实现只有Y轴的放大与缩小功能? 设置BottomAxis或者LeftAxis的Automatic:=false并同时设置Minimum,Maximum属性 1.4.2 如何固定TChart中的坐标,不使TChart中的坐标跟随Series的变化而变化? //设置底座标 with myChart.BottomAxis do begin Automatic:=false; Minimum:=0; LabelStyle := talText; end; //设置左坐标 with myChart.LeftAxis do begin Automatic:=false; Minimum:=0; Title.Angle:=270; Title.Font:=Self.Font; Title.Font.Charset:=ANSI_CHARSET; Title.Font.Name:='@宋体'; Grid.Visible := False; end; //设置右坐标 with myChart.RightAxis do 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 ; {In Bubble Series} BubbleSeries1.RadiusValues.Value[ 8 ] := 8.1 ; {In Pie Series} PieSeries1.PieValues.Value[ 3 ] := 111 ; 1.4.5 如果横坐标是时间(日期),如何进行设置? {First, you need to set the DateTime property to True in the desired X and/or Y values list.} LineSeries1.XValues.DateTime := True ; {Second, use the same above described methods, but give the values as Date, Time or DateTime values} 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)的百度空间: ****) 1.5 [TChart可以绘制的图形] 1.5.1 Line ( TLineSeries) 1.5.2 FastLine (TFastLineSeries) 相对Line来说,它损耗了某些属性从而来实现快速绘制 1.5.3 Bar (TBarSeries) 1.5.4 Horizontal bar (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) Procedure Scroll(Const Offset:Double; CheckLimits:Boolean); 例子如下: Chart1.BottomAxis.Scroll( 1000, True );这段代码也等同于 With Chart1.BottomAxis do Begin Automatic:=false; SetMinMax( Minimum+1000, Maximum+1000 ); End; (**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间: ****) 1.8 [TChart中的全局变量] ü TeeScrollMouseButton := mbRight;设置鼠标右键为TChart滚动键(默认) ü TeeScrollKeyShift := [ ssCtrl ]; 要按住Control键才可以使Scroll滚动 1.9 [TChartSerries使用技巧] 1.9.1 运行时候创建一个Serries, 三种方法: 1.Var MySeries : TBarSeries ; MySeries := TBarSeries.Create( Self ); MySeries.ParentChart := Chart1 ; 2.Chart1.AddSeries( TBarSeries.Create( Self ) ); 3.Var MyClass : 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中的数据排序 With Series1 do begin YValues.Order:=loAscending; YValues.Sort; Repaint; end; Ø 定位一个点(Loacate a point) Series1.XValues.Locate(123); Ø XValue和YValue都拥有的属性Total , TotalABS , MaxValue , MinValue *********************************************************************************************************************************** ****************下面是 南山古桃 引用 百度网友zwl232 的文章 *********************************************************************************************************************************** (**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间: ****) 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)的百度空间: ****)  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 Dot Dot线点点, Small Dots小点)  Transparent (透明)  Chart3D  3Dimensions(维):是否3维显示  Orthogonal(直角的):3维显示为直角显示,则Elevation,Rotaion,Perspective被屏蔽  ZoomText:坐标数字与图形一起缩放  Zoom:图形的缩放  Rotaion(旋转):关闭Orthogonal后,可以在Y轴上旋转  Elevation(正视图) :关闭Orthogonal后,可以在X轴上旋  Horiz. Offset:在X轴移动图形  Vert. Offset:在Y轴移动图形  Perspective(透视) :关闭Orthogonal后,将焦点沿Z轴移动。  (**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间: ****)  TeeChart使用实例  // AddPages  NewTabSheet := TTabSheet.Create(pgMain);  with NewTabSheet do  begin  Parent := pgMain;  PageControl := pgMain;  Tag := Ord(CountTypeIndex);  Caption := arrCountType[CountTypeIndex];  end;  // AddCharts  NewChart := TChart.Create(NewTabSheet);  with NewChart do  begin  Parent := NewTabSheet;  Title.Text.Add('网间结算' + arrCountType[CountTypeIndex] + '/天分布图');  LeftAxis.Title.Caption := arrCountType[CountTypeIndex];  BottomAxis.Title.Caption := '话单日期';  Legend.Visible := sbLegend.Down;  Legend.Alignment := laBottom;  Legend.LegendStyle := lsSeries;  View3D := sb3D.Down;  Width := NewTabSheet.Width;  Height := NewTabSheet.Height;  end;  // ClearSeries  AChart.Series[SeriesIndex].Free;  // AddSeries  NewSeries := TLineSeries.Create(AChart);  NewSeries.Title := ANameList.Strings[SeriesIndex];  NewSeries.Marks.Visible :=True;  AChart.AddSeries(NewSeries);  // AddNameForSeries  AChart.SeriesList[SeriesIndex].Title:= NewName;  // ShowSeries  AChart.Series[SeriesIndex].Active := True;  // EmptySeries  AChart.Series[SeriesIndex].Clear;  // FillSeries  AChart.Series[SeriesIndex].AddXY(); 南山古桃(nsgtao)转自cooltown 内容如下 : (**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间: ****)  最近开发要使 用图表,Delphi里提供了图表开发的控件TChart,可惜帮助里没有DEMO代码,上网搜索了一下,竟然发现文章也少的可怜。没办法,自己丰衣足 食,写代码试用,看帮助,读代码,搞了半天大概弄明白了TChart的使用方式,下面写一下几个常见问题的解决。 1.如何写一个TChart的Hello World? 放一个控件到窗体上,然后写代码加入一个折线数据序列: var Series: TLineSeries; begin Series := TLineSeries.Create(Chart1); Series.Add(100, 'aaa', clRed); Series.Add(200, 'AAA', clGreen); Chart1.AddSeries(Series); end; 这样就会生成一个简单的折线图表,要生成其它类型的数据图表,可以添加不同的数据序列(各种图表的序列类型可以参考帮助文档)。 2.如何设置图表的标题? TChart组件提供了Title属性可以这是图表的标题,包括标题的内容、字体、对齐方式等都可以通过Title属性设置。 最简单的设置方式: Chart1.Title.Text.Text := '图表的标题'; 3.如何修改图表的背景颜色和整个图表的颜色? TChart是一个窗体控件,可以通过修改Color属性设置图表颜色,这是一种最简单的方式: Chart1.Color := clWhite; 修改图表部分的背景色可以通过BackColor属性来实现: Chart1.BackColor := clGreen; 此外,TChart还提供了渐变的背景支持,通过Gradient控制: Chart1.Gradient.Visible := True; Chart1.Gradient.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属性设为False来使用。下面的例子创建了一个隐藏的TChart来生成图表: var Chart: TChart; S: TChartSeries; TmpFile: string; begin Chart := TChart.Create(nil); try Chart.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, '二月', 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); finally Chart.Free; end; end;
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:Delphi中ChartTeeChart的属性方法及用法.docx
    链接地址:https://www.zixin.com.cn/doc/4255856.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork