ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:99.05KB ,
资源ID:21685131      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21685131.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Delphi中的TChart使用用法文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Delphi中的TChart使用用法文档格式.docx

1、此外,TChart还提供了渐变的背景支持,通过Gradient控制: Chart1.Gradient.Visible := True;Chart1.Gradient.Direction := gdFromTopLeft;Chart1.Gradient.StartColor :Chart1.Gradient.EndColor := clYellow;4.TChart的3D效果如何控制?TChart提供了View3D属性,控制是否使用3D效果,View3dWalls属性控制是否显示左侧的3D墙效果5.如何不显示图表控件生成图表?很遗憾,TChart是一个Windows窗体控件,必须依附一个窗体或W

2、indows控件才能使用。如果要不显示TChart的话,可以将TChart的Visible属性设为False来使用。下面的例子创建了一个隐藏的TChart来生成图表: var Chart: TChart;S: TChartSeries;TmpFile: string;Chart := TChart.Create(nil);try Chart.Parent := Application.MainForm;Chart.Visible := False;Chart.Title.Text.Text :测试图表S := TBarSeries.Create(Chart);Chart.AddSeries(S

3、);S.Title :嘿嘿S.AddXY(1, 56, 一月S.AddXY(2, 67, 二月, clYellow);S.AddXY(3, 34, 三月, clBlue);S.AddXY(4, 78, 四月Chart.View3D :Chart.BackColor :Chart.Gradient.StartColor :Chart.Gradient.EndColor :Chart.Gradient.Visible :TmpFile := Application.ExeName + .bmpChart.SaveToBitmapFile(TmpFile);Image1.Picture.LoadFr

4、omFile(TmpFile);finally Chart.Free;TChart使用经验小结 1、问题:通过Addxy方法给TChart添加标记(Mark)时,发现在TChart的横坐标会随着Mark而变化,后来发现通过以下方法可避免这种情况:双击TChart,点击Axis- top or bottom -labels,在styles中将labels的形式改为Value即可!2、几个有用的属性: 图表上的每个点都是有索引的,就象一个数组一样,在OnClickSeries事件中有个ValueIndex属性,该属性可以得到鼠标所点击的点的索引值(必须将Series的Point设置为可见,鼠标点击

5、到那个点时才可以触发该事件)。 xValueindex、yValueindex分别表示图表的索引为index的横纵坐标值,用这两个属性可以读取和设置索引为index的点的值,注意:不要用xValues和yValues,这两个属性也可以达到同样的目的,但是速度非常的慢。因为后两个在进行操作的时候可能要遍历整个图表上的值(个人观点) 在MouseDown,MouseMove,Mouseup中,可以利用xScreentoValue(x),yScreentoValue(y)得到鼠标当时所在点对应在图表上的横纵坐标值。e.g.private Nowindex:Integer; Cantuo:boolea

6、n;.procedure TfrmMain.Chart1ClickSeries(Sender: TCustomChart; Series: ValueIndex: Integer;Button: TMouseButton; Shift: TShiftState; X, Y: Integer);NowIndex:=ValueIndex;procedure TfrmMain.Chart1MouseDown(Sender: TObject; Button:TMouseButton;beginCantuo:=true;procedure TfrmMain.Chart1MouseUp(Sender:In

7、teger);=false;procedure TfrmMain.Chart1MouseMove(Sender:TShiftState;beginif Cantuo thenbegin Series1.yValueNowIndex:= Series1.yScreenToValue(y) ;这里即实现了可以在图表中拖动某一个点使其在纵轴上变化位置Tchart分析报告1 Tchart分析报告1.1 概述 TChart是delphi里面一个标准的图形显示控件。它可以静态设计(at design time)也可以动态生成。1.2 继承关系 TObject TPersistent TComponent

8、TControl TCustomControl TWedgetControl TChart TCustomPanel 1.3 tips1.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的父类,没有画出什么来的,用

9、一个具体的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的变化而变化?/设置

10、底座标 with myChart.BottomAxis do begin Automatic:Minimum:=0; LabelStyle := talText; end; /设置左坐标 with myChart.LeftAxis do begin Automatic: Minimum: Title.Angle:=270; Title.Font:=Self.Font;Title.Font.Charset:=ANSI_CHARSET; Title.Font.Name:=宋体 Grid.Visible : /设置右坐标 with myChart.RightAxis do begin Automat

11、ic:Title.Font: Title.Font.Charset: Title.Caption:累计百分比(%) Maximum:=100;1.4.3 如何删除一个图形中的一个点?使用Series的delete 方法1.4.4 如何修改一个点的X或者Y 值?LineSeries1.YValue3 := 27.1 ;In Bubble SeriesBubbleSeries1.RadiusValues.Value 8 := 8.1 ;In Pie SeriesPieSeries1.PieValues.Value 3 := 111 ;1.4.5 如果横坐标是时间(日期),如何进行设置?First,

12、 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 valuesLineSeries1.AddXY( EncodeDate( 1996 , 1 , 23 ) , 25.4 , Barcelona , clGreen );1

13、.4.6 如何在chart中画出的曲线某个点上标记出该点的值?Series.Marks.Visible:Series.Marks.Style:=smsValue;1.4.7 如何设置横轴或者纵轴的增长率?Chart.BottomAxis.Increment :DataTimeStep dtOneHour ;Chart.RightAxis.Increment := 1000;1.4.8 如何对图象进行缩放?TChart的ZoomRect或者ZoomPercent方法 (Pie图可能不支持缩放) 1.5 TChart可以绘制的图形1.5.1 Line ( TLineSeries)1.5.2 Fas

14、tLine (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的

15、实时绘制 实时绘制对机器性能要求比较高,因此我们在编程的时候要注意下面几个方面: 使用2D图形 是Chart尽可能包含少的点 如果需要,可以移除(remove)chart的legend(?)和Title 使用默认的字体和字体大小 使用FastLineSeries 使用实体(solid)画笔和画刷格式 尽量避免使用圆形和环行bar样式 不要使用背景图片和渐变效果样式 把Chart的BevelInner和BevelOUter属性设置为bcNone 如果需要,把TChart的AxisVisible属性设置为False 把BufferedDisplay设置为false可以加速chart的重绘 1.7

16、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 doBegin Automatic:SetMinM

17、ax( Minimum+1000, Maximum+1000 ); End;1.8 TChart中的全局变量1.9 TeeScrollMouseButton := mbRight;设置鼠标右键为TChart滚动键(默认) TeeScrollKeyShift := ssCtrl ; 要按住Control键才可以使Scroll滚动 1.9 TChartSerries使用技巧1.9.1 运行时候创建一个Serries, 三种方法:1Var MySeries : TBarSeries ;MySeries :TBarSeries.Create( Self );MySeries.ParentChart :

18、= Chart1 ;2Chart1.AddSeries( TBarSeries.Create( Self ) ); 3Var MyClass : TChartSeriesClass; MyClass := TBarSeries ;Chart1.AddSeries( MyClass.Create( Self ) );1.9.2 获得TChart中的Serries数组,也有三种方法1MySeries := Chart1.SeriesList 0 2MySeries := Chart1.Series 0 3MySeries := Chart1 0 1.9.3 SerriesCount属性获得Seri

19、esList中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 dobegin YValues.Order:=loAscending; YValues.Sort; Repaint;定位一个点(Loacate a poi

20、nt)Series1.XValues.Locate(123); XValue和YValue都拥有的属性Total , TotalABS , MaxValue , MinValue teechart笔记(Delphi)来自:bobo 日期:2006-12-4 23:09:07 全文阅读:loading. 分类:学习札记1.series的方法1.1 ColorRange设定一定范围的点和线的颜色。procedure ColorRange(AValueList: TChartValueList; Const FromValue, ToValue: Double; AColor: TColor);其中

21、:The TChartValueList component is the container of point values. Each Series component has one or more values lists. The XValues and YValues properties are TChartValueList components. 可以是XValues 或YValues;FromValue, ToValue是范围。AColor是点的颜色。 UnitTeEngine DescriptionThis method will change the Color of

22、a specified range of points. The FromValue and ToValue parameters are the beginning and end of the specified AValueList range. AValueList can be any Series ValueList such as: XValues, YValues, etc. 对某一特定的点:可以用series.valuecolorindex属性property ValueColorIndex: Integer: TColor;Use the ValueColor proper

23、ty to get or set the Color of a point at a particular position. Index gives the position of the point, where 0 is the first, 1 is the second, and so on. 不过这两个方法都会导致线的颜色也会改变:改变的模式是若下一点出界,则从此点到下一点的连线的颜色变为指定点的颜色。 用这种方法可以改变各个点的形状,result即是具体点的形状。function TForm1.Series1GetPointerStyle(Sender: Integer):TSe

24、riesPointerStyle;begin if ValueIndex mod 2=0 then result:=psRectangle else result:=psTriangle; 1.2 CalcXPosValue 把某一轴X/Y轴的值,转化为窗体的像素值(整型)。CalcXPosValue(Const Value: Double): UnitTeEngine DescriptionReturns the pixel Screen Horizontal coordinate of the specified Value.for example:procedure TForm1.Cha

25、rt1AfterDraw(Sender: TObject);var tmp :tmp:=Series1.CalcPosValue( 123 ); with Chart1.Canvas do Rectangle(tmp-5,tmp-5,tmp 5,tmp 5); 1.3 画水平直线Chart1AfterDraw的时间中Procedure TForm1.DBChart1AfterDraw(Sender:begindrawLimits(ChrtNum, width: integer; Value: color: drawLimits(ChrtNum, width:TColor);var PixVal

26、ue:integer; beginwith dbcht1.Canvas do begin PixValue :seriesx.CalcYPosValue(Value); if (PixValuedbcht1.ChartRect.Bottom) then/判断是否已经超出dbcht1.ChartRect的范围。 Pen.Color:=dbcht1.Color else Pen.Color := color; Pen.Width := width;MoveTo(dbcht1.ChartRect.Left, PixValue); LineTo(dbcht1.ChartRect.Right, PixV

27、alue); 1.4 通过函数function来画直线/各种自定义曲线;series|dataSource|function. 在object treeView对象观察器中 series1|TeeFunction1 的OnCalculate事件中添加公式procedure TForm1.TeeFunction1Calculate(Sender: TCustomTeeFunction; const x: var y:Double);begin y:=50; /y:=Sin(x/10); 1.5 取消chart的网格在chart|axis|Ticks|grid中操作,此操作针对某一轴而言,如leftaxis,对于bottomaxis要选择它再操作。 1.6 mark tips显示数据标签的chart工具。设定自定义的标签的方法:设定一个单元局部变量 MarkText:string在chart的onMouseMove中添加事件。procedure TfrmVChart.dbcht1MouseMove(Sender: var tmp: begin tmp := SeriesX.Clicked(x, y);/返回该点的所在的series上序号,从0开始。 if tmp = -1

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

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