TChart用法简介

合集下载

C#趋势图Tchart用法

C#趋势图Tchart用法

一、TeeChart使用指南1.添加引用一下两个DLL文件到项目中。

工具箱中右键打开选择项,如上图所示在筛选器中打开浏览找到项目中的TeeChart.dll文件点击打开,完成后工具栏中将会出现teechart控件的图表2.创建一个webchart控件到页面中3.编辑属性4.在上图中添加series ,设置teeChart Gallery属性5.设置数据库连接6.必要参数设置如何在项目中使用破解版本的TeeChart?1、建一个aspx文件Default.aspx;2、在设计视图中拖进去一个控件;3、在属性窗口的杂项中,将GetChartFile设置成GetChart.aspx(默认)将TempChart属性设置成Session新建aspx文件GetChart.aspx,在GetChart.aspx.cs中写入以下代码: using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;///<summary>///为了覆盖session变量中的图表, 新建一个页面,命名为GetChart.aspx///</summary>public partial class GetChart : System.Web.UI.Page{///<summary>///将图片存储在session变量中///</summary>///<param name="sender"></param>///<param name="e"></param>protected void Page_Load(object sender, EventArgs e){string chartName = Request.QueryString["Chart"];if (Session[chartName] != null){System.IO.MemoryStream chartStream = newSystem.IO.MemoryStream();chartStream =((System.IO.MemoryStream)Session[chartName]);Response.OutputStream.Write(chartStream.ToArray(), 0, (int)chartStream.Length);chartStream.Close();Session.Remove(chartName);}}}如何将GetChart.aspx拷贝到当前的工程目录下。

Delphi之Tchart控件使用心得

Delphi之Tchart控件使用心得

Delphi之Tchart控件使用心得最近在学习delphi,做一个软件练手,用到Tchart控件,有些粗略的使用心得,供delphi初学者参考。

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

它可以静态设计(at design time)也可以动态生成。

可下载Steema TeeChart 7,没有源代码,能用就好!由于我要在同一个Chart界面显示不同的图形,需要动态编程实时绘制曲线。

一、添加Series之前,要删除已有的Series,只能从后往前删,否则出错:for i:=Chart1.SeriesCount-1 downto 0 dobeginChart1.Series[i].Free;end;二、运行时候创建一个Series, 有多种方法。

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 ) );在这里根据,用到循环结构动态添加多条Series。

for j:=0 to NXUGMU-1 dobeginseries:=TFastLineSeries.Create(Chart1);Chart1.AddSeries(Series); //动态增加seriesseries.LinePen.Width:=2; //设定线宽Chart1.Series[j].Title:='速度'+StrVelocity[j]; //动态标题randomize;end;三、在chart中画出的曲线某个点上标记出该点的值series.Marks.Visible:=True;Series.Marks.Style:=smsValue;四、固定TChart中的坐标,不使TChart中的坐标跟随Series的变化而变化//设置底座标with Chart1.BottomAxis dobeginAutomatic:=false;Minimum:=0;LabelStyle := talText;end;五、添加坐标值,自动绘制曲线Chart1.Series[j].AddXY(Xzhi,Yzhi,Label,color);。

TeeChart经验总结

TeeChart经验总结

我使用的是Delphi5,所以所有的测试,代码均为D5版本,看的时候要有一颗兼容的心. 第三方组件,尽量使用有源码的版本,方便修改问题,也方便看懂功能,不然改都没法改.安装TeeChart的话,推荐TeeChart Pro v8.01 with Full Source。

目录中有一个exe名为:TeeRecompile.exe.运行它.点击:BEGIN.编译完成,打开Delphi IDE.我不记得是否会自动给环境里加入Sources目录了.请在安装完成后检查Tools->Environment Options->Library->Directories->Library Path,是否包含了解压安装目录中的Sources目录.目前为止..安装结束..老版本的TeeChart安装,需要先卸载自身的TChart组件,也就是在Component->Install Packages中不加载Borland Decision Cube Components,然后再使用TeeChart的bpg安装Dcl*.dpk,然后添加Library Path.完成了安装以后,在additional选项卡里,就可以选择TChart进行使用.在Options->Language->Change中,可以修改TeeChart Editor为中文菜单,但是不推荐这样做,毕竟写代码还是得用英文的.Edit Chart:打开TeeChart Editor界面,可以进行Series,Axis,Wall之类的参数编辑.Print Preview:打印预览...Export Chart:可以将Chart导出图片之类的格式.Custom Axes:可以编辑自定义Axis,也就是轴Seires:可以编辑曲线序列,也就是数据集合.先贴一张TeeChart Editor的图.在编辑器里,可以对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->Back Wall的颜色.用到了2个自定义的Axis,4个FastLine的Sereis,将Legend(图列说明,也就是Series的名称颜色的集合显示)显示出来.使用了Titles中的Title,用于显示一些与图相关的信息.用到了几个Tools,一个用来显示Paging,一个用来显示所看到的游标内容.TeeChart经验总结3.Panel和WallsWalls为Series表现的区域,有Left,Right,Bottom,Back之分,其中Left,Right,Bottom都为3D显示时候用的,Back就是Series绘图区域.先说Panel,看图:Color是用来修改Panel显示的颜色,如果Walls的Transparent属性为True,那么都会显示这个颜色,如果为False,就可以自行定义颜色显示.Bak Image Inside,顾名思义,就是让背景图片是否显示在Back Wall里.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 效果的显示.Back Wall比其他的Wall多了一个Shadow的属性,其他基本都一样,所以以下就只贴Back Wall的图了.Visible Walls:是否显示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和LegendTitles分为四个:Title,SubTitle,SubFoot,Foot.这4个的区别其实就是默认的位置.从名字也可以猜出.Visible:可见.Adjust Frame:适应框架.应该是根据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的Nam es,Values,Last Values,等等.Visible:显示LegendInverted:反转显示顺序Font Series Color:使显示字体的颜色与Series颜色一致.Legend Style:Legend的显示内容,Automatic(自动),Series Nam es(名称,确切的说其实是Series的Title),Series Values(数据),Last Values(最后一个点的数据,所有的Series),Series Groups(没用过...).Text Value:和Legend Style对应的一些设置,不细说了.No Check Boxes:是否在对应Series前显示CheckBox或者RadioButton.可以直接选择是否显示该Series在曲线上.Vert. Spacing:垂直间隔.Dividing Line:每个Item之间的分隔线.Resize Chart,根据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上还是显示在最前面.Left Axis,Right Axis,Top Axis,Bottom Axis,Depth Right,Depth Top:和名字的说法一样,都是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:多行显示.Round First:感觉像是对第一个值取整.Label On Axis:在Axis也标记.Alternate:交替显示.Min.Separation%:Label的最小分隔. Style:显示风格.Size:Label占用的大小,如果设置为0,就是自动. Angle:Label显示的角度.Ticks->记号.Axis上小分隔的记号.Grid->设置Axis的显示格线.如果Y轴过多,最好只显示一个Axis的Grid,不然显示起来会很乱. Grid..:用来设置线的属性,Width,Space之类的.Z:3D显示时用到的属性.Draw every:每几个分隔画一条Grid线.Minor..:Grid中的Grid.在前面Grid中继续画Grid.Position->对于Vertical/Horizontal Axis比较多的时候,Position的设置就显得尤其重要了.Position %:设置Axis的位置,如果是Vertical,没有选中Other side,那就是默认在左边的Axis,正就是向右,负就是向左.Start%,End%:这个就是前面那个多个Axis实现方式.即每个Axis占用的范围.Z%:3D显示使用.Other side:Vertical Axis,不选中为Left,选中为Right;Horizontal Axis,不选中为Bottom,选中为Top,Position%均是从Wall的边缘开始算起.Horizontal:选中就是水平方向的Axis,不选中就是垂直方向的Axis.Other side,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:LineTeeChart提供了很多类型不同的Series,下面是比较常用的.创建Series可以通过TeeChart Editor,如下View下面,可以选择显示或者使用代码创建,如下Series Name(选中就可以修改Name,不选中可以修改Title),Series Group;可以创建Series Group进行管理.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;下面开始说Line Series.Border...:用来修改在3D显示Line Series边缘是否显示,颜色,宽度等等.在非3D情况下,用于Line Series的显示,宽度等等.Color...:Line Series的颜色.Pattren...:还是用于3D显示的图案.Drak 3D:3D阴影.Color Each, Color Each Line:每个点之间的线一种颜色,这个被选中,则Color属性无效.Clickable:可点击.Line Mode:Stairs:阶梯;Inverted:反转.OutLine:轮廓.这个功能实现的很怪,如果修改了这个,则Series Color无效.Height 3D:3D显示下Line的高(厚)度.Stack:这是一个比较复杂的设置.当有多个Line Series的时候,这个属性用来表示这些个Line Series的关系.None:在3D显示中,每个Line Series一个独立的ZOrder.Overlap:交错,在3D显示中,在同一个ZOrder中显示这些Line Series.Stack,Stack100:比较Line数值,前者使用实际值,后者使用0-100.数学比较差..不知道该如何描述.Treat Nulls:处理空值.分为:Don't Paint(不绘),Skip(跳过),Ignore(忽略).Series里有一个基础方法AddNull.Shadow:3D显示的时候没有试出来,2D显示的时候很明显.Gradient:3D显示时将Z上颜色渐变色.Line其实是通过AddXY或者类似的函数添加的点连接而成的曲线,Point就是是否来显示这个点,以及显示这个点的属性.大部分的属性之前都介绍过.Show In Legend:显示在Legend中.Cursor:游标,只有当之前的Clickable被选中,这个属性才有用.Depth:单独设置Line Series的深度,如果选择Auto,则和Chart整体保持一致.Horizontal Axis:指定Line Series的水平Axis.Vertical Axis:指定Line Series的垂直Axis.DateTime:把Axis的值设置为时间.设置这个属性只要修改Series.XValues.DateTime或者Series.YValues.DateTime即可.做柱形图的月份统计,这个属性经常被用到.Formats:设置显示值的格式.Show In This Editor:是否显示在TeeChart Editor内.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以后不贴TeeChart Editor的图了.尽量文字说明,也方便查找属性.BarSeries.BarStyle Bar的显示类型∙ //矩形,椎体,倒椎体∙//圆筒,椭圆,箭头,渐变矩形,圆锥体,斜面∙//斜立方体,钻石型,反箭头,倒圆锥体∙TBarStyle=( bsRectangle, bsPyramid, bsInvPyramid,∙ bsCilinder, bsEllipse, bsArrow, bsRectGradient, bsCone, bsBevel,∙ bsSlantCube, bsDiamond, bsInvArrow, bsInvCone);BarSeries.ColorEachPoint 每个Bar独立颜色BarSeries.Brush.Style 刷子类型,也就是Bar的显示图案BarSeries.Brush.ColorBarSeries.Brush.BackColorBarSeries.Brush.Image以上四个属性,就是TeeChart Editor里的Pattern设置.∙TBrushStyle = (bsSolid, bsClear, bsHorizontal, bsVertical,∙ bsFDiagonal, bsBDiagonal, bsCross, bsDiagCross);BarSeries.Gradient 渐变色,配合bsRectGradient使用.BarSeries.TickLines 标记线,用于在Bar上画分隔线.BarSeries.Dark3D 3D投影效果显示BarSeries.DepthBarSeries.DepthPercentBarSeries.CustomBarWidthBarSeries.BarWidthPercentBarSeries.OffsetPercent以上为设置Bar Series的深度(3D显示),深度百分比(和Chart设置的3D设置比);宽度,宽度百分比;位移(水平方向).BarSeries.Shadow 用于显示阴影,在3D和2D下均可显示.BarSeries.BarPen 用来设置Bar外框的一些显示属性.BarSeries.MultiBar 多个Bar的显示方式.∙TMultiBar=(mbNone,mbSide,mbStacked,mbStacked100,mbSideAll,mbSelfStack);贴个图,比较清楚:BarSeries.ShowInLegend BarSeries.Cursor BarSeries.AutoBarSize BarSeries.CustomHorizAxis BarSeries.CustomVertAxis BarSeries.ValueFormat BarSeries.PercentFormat BarSeries.ShowInEditor之前介绍过.BarSeries.Marks 用于显示标记. 下面是Demo∙var∙ i:Integer;∙begin∙BarSeries.Clear;∙for i:= 1 to 12 do∙begin∙with BarSeries do∙ begin∙AddXY(i, Random(1000), Format('%.2d月',[i])); ∙end;∙end;∙end;TeeChart经验总结8.Series之3:Horizontal Bar&AreaHorizontal Bar 属性和Bar一致,只是坐标系顺时针转90度.如下图.Area 如下图:AreaSeries.Stairs 阶梯,在Add**函数中,从N点到N+1点之间均为添加的Y值.如果AreaSeries.InvertedStairs为True,则是从N点N-1点之间均为添加的Y值.Pattern对应AreaSeries.AreaChartBrushBorder对应AreaSeries.LinePenTop对应AreaSeries.BrushArea Lines对应AreaSeries.AreaLinesPenTransparency对应AreaSeries.TransparencyDrak3D对应AreaSeries.Dark3DColor Each对应AreaSeries.ColorEachPointColor对应AreaSeries.SeriesColorTreatNulls对应AreaSeries.TreatNulls TTreatNullsStyle=(tnDontPaint, tnSkip, tnIgnore); Stack->Multi Areas对应AreaSeries.MultiArea Stack Group对应AreaSeries.StackGroupUse Origin对应eYOriginOrigin对应AreaSeries.YOriginTeeChart经验总结9.Series之4:Pie&OthersTeeChart自带的PieDemo就很能说明问题.Explode biggest对应Pie.ExplodeBiggest; 将最大的一块slice推出.Total Angle对应 Pie.AngleSize; 所有slice的总角度.Dark Border对应Pie.DarkPen;每一块slice的边界线.Dark 3D对应Pie.Dark3D;slice侧边的阴影.Patterns对应 ePatterns;是否给slice使用图案.Multiple Pies对应 Pie.MultiPie: TMultiPie=(mpAutomatic, mpDisabled); 如果Chart内有多个Pie,如何显示.Gourp Slices.Style对应Pie.OtherSlice.Style;TPieOtherStyle=(poNone, poBelowPercent, poBelowValue);Gourp Slices.Value对应Pie.OtherSlice.ValueGourp bel对应Pie.OtherSlice.TextGourp Slices.Legend对应Pie.OtherSlice.Legend这些属性是为了使Value低于总百分比(poBelowPercent)或者低于数值(poBelowValue)这些数值之和,显示为Label的新slice.比如处理一些较小的值,显示为Other.Color Each slice对应 Pie.ColorEachPointColor palette对应Pie.ParentChart的ColorPaletteIndexColor对应Pie.SeriesColorAuto Mark Position对应 Pie.AutoMarkPosition;自动设置Mark的位置Vertical center callout对应Pie.PieMarks.VertCenter;垂直居中显示Callout Leg size对应 Pie.PieMarks.LegSize;Mark脚线的长度(以下属性和TCircledSeries通用)Circled对应 Pie.Circled;显示成圆(而不是椭圆)3 Dimensions对应 Pie.ParentChart.View3DRotation对应Pie.RotationAngle;旋转角度Radius.Horizontal对应Pie.CustomXRadius 水平半径Radius.Vertical对应 Pie.CustomYRadius 垂直半径(以上属性和TCircledSeries通用)Point: 离线并不连接的点.常用属性之前都介绍过.Fast Line:简化版的Line,取消了3D显示,取消了Stack等功能. Horizontal Line: XY互换的Line.Horizontal Area: XY互换的Area.Bubble: 泡泡.其实感觉更像是立体彩色版本的Point.Gantt:甘特图.Sharp:图形.一些常用的图形. Extended:扩展.Financial:金融.Stats:统计.3D:Gauges:仪表.Other:Maps:地图.TeeChart经验总结10.Zoom&ScrollZoom.Allow对应TheChart.Zoom.Allow;是否允许Zoom.Zoom.Animated对应TheChart.Zoom.Animated;演示Zoom的动画.Zoom.Steps对应TheChart.Zoom.AnimatedSteps;Zoom动画的步数.Zoom.Pen对应TheChart.Pen;Zoom.Pattern对应TheChart.Zoom.Brush;Zoom.Minimum pixels对应TheChart.Zoom.MinimumPixels;最小可执行Zoom的像素,即用户选中的Zoom框的最小大小.Zoom.Direction对应TheChart.Zoom.Direction;Zoom的方向,TTeeZoomDirection=(tzdHorizontal, tzdVertical, tzdBoth);Zoom.Mouse Button对应TheChart.Zoom.MouseButton;实现Zoom的鼠标键,TMouseButton = (mbLeft, mbRight, mbMiddle);Zoom.Zoom on Up Left Drag对应TheChart.Zoom.UpLeftZooms;默认的话,是向右下方(右上方也是)的拖放为Zoom,向左上方(左下方也是)的拖放为复位,如果选中了这个属性,则向左上方(左下方也是)也为Zoom.Scroll.Allow Scroll对应TheChart.AllowPanning;Scroll允许的方向,TPanningMode=(pmNone,pmHorizontal,pmVertical,pmBoth);//不允许,水平,垂直,水平和垂直.Scroll.Mouse Button对应TheChart.ScrollMouseButton;当按住这个MouseButton的时候,就实现Scroll.Cursor对应TheChart.Cursor.TeeChart经验总结11.Tools不记得是从7.0还是8.0,TeeChart提供了丰富的Tools.这是一个纯用TeeChart的Tools实现的简易游标Demo.本节后面会附上全部源码.Clip Series:当Series被拖动超出了Axis的范围,则超出的部分不显示.Cursor:十字,垂直,水平方向的游标,可以具体Snap任意Series的相应方向上的数据点.Drag Marks:可以任意拖动位置的Marks.Drag Point:可以任意移动绑定Series的数据点.Draw Line:在Chart上画线.Extra Legend:扩展Legend,可以在Chart再显示若干个Legend.fibonnaci:斐波那契数Gantt Drag:可拖动的甘特图Image:图片Legend Palette:用Series的颜色显示Legend颜色Mark Tips:鼠标移动到Mark上,会显示出Hint提示.Nearest Point:移动鼠标,会找到离鼠标最近的Series上的一点.Pie Slices:移动鼠标到Pie Slices上,会高亮被鼠标移动到的slice.Region:填充Series和某个值之间的区域.Series Animation:显示动画,比如柱状图从0增加到设定值.Series Band:填充2个Series之间的区域.Statistics:统计资料,可以显示一个Series的一些统计资料.比如平均值,最大值,最小值,多少个值等等.Surface Nearest:找到表面最近的点,并且高亮.Axis Arrow:在Axis上添加2个方向的箭头,可以进行相应方向的Scroll操作.Axis Scroll:可以用鼠标直接拖动Axis进行数据范围的变更.Color Band:用彩色带填充Axis区域的背景颜色.Color Line:用彩色线(可以允许拖动)显示在相应Axis的区域.Grid Band:用2种颜色带交替填充相应Axis的区域.2D Lighting:有点类似探照灯一样的效果...3D Grid Transpose:交换3D Series的数据,行,列.Annotation:注释,可以在Chart里任意位置显示一段文字.Anti-Alias:平滑线的尖角.Banner:横幅,可以实现滚动字.Data Table:显示一个Series的数据表格.Fader:淡入/淡出一个Chart.Frame:显示一个包围Chart的框架(相框效果).Full Screen:将Chart全屏显示,然后用Alt+F4或者Esc返回.Legend Scrollbar:Legend的滚动条Link:在Chart里显示一个超级链接.Magnify:一个可以来回拖动的放大镜.Page Number:显示Chart的当前页/总页数(也可以提供切换页的按钮).Rectangle:一个可以拖动,可以改变大小的文字显示框.Rotate:可以360度任意角度旋转Chart.Selector:可以设置选择任何在Chart中的子组件,比如Title,Series等等.组合Hint,可以显示出选中的是什么组件.SubChart:在Chart里再内置子Chart.Text 3D:显示3D的注释.Transpose Series:交换Series的行列.Video Creator:创建一段Chart图像的AVI.Video Player:在Chart里播放AVI.下面是之前提到的Demo.dfm文件:object Form1: TForm1∙ Top = 190∙ Width = 870∙ Height = 500∙ Caption = 'Form1'∙ Color = clBtnFace∙ Font.Charset = DEFAULT_CHARSET ∙ Font.Color = clWindowText∙ Font.Height = -11∙ Font.Nam e = 'MS Sans Serif'∙ Font.Style = []∙ OldCreateOrder = False∙ OnCreate = FormCreate∙ PixelsPerInch = 96∙ TextHeight = 13∙ object Button_FillData: TButton∙ Left = 744∙ Top = 48∙ Width = 75∙ Height = 25∙ Caption = '填充数据'∙ TabOrder = 0∙ OnClick = Button_FillDataClick∙ end∙ object CheckBox_Cursor: TCheckBox ∙ Left = 752∙ Top = 88∙ Width = 57∙ Height = 17∙ Caption = '游标'∙ TabOrder = 1∙ OnClick = CheckBox_CursorClick∙ end∙ object CheckBox_LockY: TCheckBox ∙ Left = 752∙ Top = 120∙ Width = 97∙ Height = 17∙ Caption = 'Lock Cursor Y'∙ TabOrder = 2∙ OnClick = CheckBox_LockYClick∙ end∙ object Chart1: TChart∙ Left = 24∙ Width = 681∙ Height = 409∙ Title.Text.Strings = (∙ 'TChart')∙ TabOrder = 3∙ end∙endpas文件:∙unit Unit1;∙∙interface∙∙uses∙ Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ∙ TeEngine, Series, StdCtrls, ExtCtrls, TeeProcs, Chart, TeeTools;∙∙type∙ TForm1 = class(TForm)∙ Button_FillData: TButton;∙ CheckBox_Cursor: TCheckBox;∙ CheckBox_LockY: TCheckBox;∙ Chart1: TChart;∙ procedure Button_FillDataClick(Sender: TObject);∙ procedure FormCreate(Sender: TObject);∙ procedure CheckBox_CursorClick(Sender: TObject);∙ private∙ { Private declarations }∙ FFLS1, FFLS2: TFastLineSeries;∙ FCursorTool: TCursorTool;∙ FAnnotationTool: TAnnotationTool;∙ procedure CursorChange(Sender:TCursorTool; x,y:Integer;∙ Const XValue,YValue:Double;∙ Series:TChartSeries;∙ ValueIndex:Integer);∙ public∙ { Public declarations }∙ end;∙∙var∙ Form1: TForm1;∙∙implementation∙∙{$R *.DFM}∙∙procedure TForm1.Button_FillDataClick(Sender: TObject);∙begin∙ FFLS1.FillSampleValues(20);∙ FFLS2.FillSampleValues(20);∙end;∙const∙ LabelInv = 10;∙∙procedure TForm1.CursorChange(Sender: TCursorTool; x, y: Integer;∙ const XValue, YValue: Double; Series: TChartSeries; ValueIndex: Integer);∙var∙ Str: string;∙ TmpX, TmpY: Integer;∙begin∙ FAnnotationTool.Visible := False;∙ if not Assigned(Series) then∙ Exit;∙ if Series.XValues.Count <= 0 then∙ Exit;∙ Str := Format('X Value = %.2f', [XValue]) + #13#10∙ + Format('%s YValue = %.2f',[FFLS1.Title, FFLS1.YValues[ValueIndex]]) + # 13#10∙ + Format('%s YValue = %.2f',[FFLS2.Title, FFLS2.YValues[ValueIndex]]);∙ FAnnotationTool.Text := Str;∙ TmpX := x + LabelInv;∙ if TmpX + FAnnotationTool.Width > Chart1.ChartRect.Right - LabelInv then∙ TmpX := x - FAnnotationTool.Width - LabelInv;∙ if CheckBox_LockY.Checked then∙ begin∙ TmpY := Chart1.ChartRect.Top + LabelInv;∙ if TmpY + FAnnotationTool.Height > Chart1.ChartRect.Bottom - LabelInv then ∙ TmpY := Chart1.ChartRect.Bottom - Height - LabelInv;∙ end∙ else∙ begin∙ TmpY := Chart1.GetCursorPos.y + LabelInv;∙ if TmpY + FAnnotationTool.Height > Chart1.ChartRect.Bottom - LabelInv then ∙ TmpY := Chart1.ChartRect.Bottom - FAnnotationTool.Height - LabelInv;∙ end;∙ if TmpY < Chart1.ChartRect.Top + LabelInv then∙ TmpY := Chart1.ChartRect.Top + LabelInv;∙ FAnnotationTool.Top := TmpY;∙ FAnnotationTool.Left := TmpX;∙ FAnnotationTool.Visible := FCursorTool.Visible;∙end;∙∙procedure TForm1.FormCreate(Sender: TObject);∙begin∙ //调整TeeChart属性∙ Chart1.Legend.Visible := True;∙ Chart1.Legend.Alignment := laTop;∙ Chart1.View3D := False;∙ Chart1.Zoom.Allow := False;∙ Chart1.AllowPanning := pmNone;∙ //创建Series∙ if not Assigned(FFLS1) then∙ begin∙ FFLS1 := TFastLineSeries.Create(Self);∙ FFLS1.ParentChart := Chart1;∙ FFLS1.Title := 'Test Series 1';∙ end;∙ if not Assigned(FFLS2) then∙ begin∙ FFLS2 := TFastLineSeries.Create(Self);∙ FFLS2.ParentChart := Chart1;∙ FFLS2.Title := 'Test Series 2';∙ end;∙ //创建Tools∙ FCursorTool := TCursorTool.Create(Chart1);∙ FCursorTool.ParentChart := Chart1;∙ FCursorTool.Active := False;∙ FCursorTool.Pen.Color := clRed;∙ FCursorTool.Style := cssVertical;∙ FCursorTool.Series := FFLS1;∙ FCursorTool.Snap := True;∙ FCursorTool.OnChange := CursorChange;∙∙ FAnnotationTool := TAnnotationTool.Create(Chart1); ∙ FAnnotationTool.ParentChart := Chart1;∙ FAnnotationTool.Active := False;∙ FAnnotationTool.PositionUnits := muPixels;∙ FAnnotationTool.Shape.CustomPosition := True;∙ FAnnotationTool.Shape.Gradient.Visible := True;∙ FAnnotationTool.Shape.Transparency := 30;∙end;∙∙procedure TForm1.CheckBox_CursorClick(Sender: TObject); ∙begin∙ FCursorTool.Visible := CheckBox_Cursor.Checked;∙ FAnnotationTool.Visible := CheckBox_Cursor.Checked;∙end;∙∙end.。

lazarus对tchart的用法

lazarus对tchart的用法

Lazarus对TChart的用法介绍Lazarus是一款开源的跨平台集成开发环境(IDE),用于开发基于Object Pascal 语言的应用程序。

TChart是Lazarus的一个图表控件,用于绘制各种类型的图表,如折线图、柱状图、饼图等。

本文将详细介绍Lazarus中使用TChart的方法和技巧。

安装TChart组件1.打开Lazarus IDE。

2.在主菜单中选择”Package” -> “Install/Uninstall Packages”。

3.在弹出的对话框中,选择”Chart”组件,点击”Install”按钮。

4.等待安装完成后,点击”OK”按钮关闭对话框。

创建TChart控件1.在Lazarus的窗体设计器中,选择”Standard”组件面板。

2.找到TChart组件,将其拖放到窗体上。

3.调整TChart控件的大小和位置,以适应窗体的需求。

设置图表类型1.双击TChart控件,打开TChart编辑器。

2.在TChart编辑器中,选择”Series”选项卡。

3.在”Series”选项卡中,点击”Add”按钮,选择要添加的图表类型,如折线图(Line)。

4.在”Series”选项卡中,可以设置图表的标题、颜色、线条样式等属性。

添加数据1.在TChart编辑器中,选择”Series”选项卡。

2.在”Series”选项卡中,选择要添加数据的图表类型。

3.点击”Add”按钮,在弹出的对话框中输入数据的名称和数值。

4.重复以上步骤,添加更多的数据。

自定义图表样式1.在TChart编辑器中,选择”Series”选项卡。

2.在”Series”选项卡中,选择要自定义样式的图表类型。

3.在”Series”选项卡中,可以设置图表的线条颜色、线条宽度、标记点样式等属性。

4.在”Series”选项卡中,还可以设置图表的背景颜色、标题、坐标轴等属性。

添加图例1.在TChart编辑器中,选择”Legend”选项卡。

TChart

TChart
void __fastcall TForm1::Button1Click(TObject *Sender) { Chart1->RemoveAllSeries(); // 清除 Chart1 上所有旧 Series
Chart1->View3D=false; // 不要 3D 立体 Chart1->Legend->Visible=false; // 不秀图例说明
if(RadioButton1->Checked) Clock1++; if(RadioButton2->Checked) Clock2++;
Series1->Clear(); Series1->AddXY(0,Clock1,"時間 1",(TColor)clTeeColor); Series1->AddXY(1,Clock2,"時間 2",(TColor)clTeeColor);
TChart 很簡單,拉一個 TChart 元件放到 Form 上,然後可以點它 2 下,按 Add 新增一個 Series1 選擇你要的形式(範例選 Bar),再放 2 個 RadioButton,用以下 code 就可示範.
使用 TChar 的觀念,它不會統計,只會將資料畫成圖表,所以圖表若是動態更新的那就以 Clean(),再重畫的方式進行. Series1 是代表資列,若要在同個點上畫出 2 個資料,則要增加另一個 Series2,才能比對. 以上是要點,範例很簡單希望對你有幫助.
//---------------------------------------------------------------------------

tchart series 标注的使用方法

tchart series 标注的使用方法

tchart series 标注的使用方法TChart是一种用于创建各种图表的软件工具,支持多种编程语言。

在TChart中,标注(Annotation)用于向图表中添加额外的文本和图形元素,以提供更详细的信息。

以下是使用TChart中标注的常见方法:1. 创建标注:使用`Chart1->Annotations->Add`方法可以创建一个新的标注。

此方法通常需要提供标注的位置、文本内容和可选的其他属性,例如颜色和字体等。

2. 设置标注位置:使用`Annotation1->Left`和`Annotation1->Top`属性可以设置标注的位置。

可以通过设置位置的绝对坐标或相对于图表元素的相对坐标来确定标注的位置。

3. 设置标注文本:使用`Annotation1->Text`属性可以设置标注的文本内容。

文本可以包含纯文本、HTML标记和图表元素引用等。

4. 设置标注样式:使用`Annotation1->Shape->`属性可以设置标注的形状,例如矩形、圆形或自定义形状。

还可以使用`Annotation1->Font`属性设置标注的字体、颜色和大小等。

5. 显示/隐藏标注:使用`Annotation1->Visible`属性可以控制标注的显示和隐藏。

可以通过将该属性设置为True或False来切换标注的可见性。

6. 标注交互:可以通过设置`Annotation1->AllowMove`属性为True来启用标注的拖动。

这样用户就可以在图表中移动标注位置。

7. 删除标注:可以使用`Chart1->Annotations->Delete`方法来删除标注。

需要提供要删除的标注的索引或引用。

这些只是使用TChart中标注的一些常见方法和属性。

根据需要,还可以进一步自定义标注的行为和外观。

TChart用法

TChart用法

1、TSeries常用属性介绍: *(1)Active:Bool型,用于隐藏和显示Series, 该属性可以静态也可以动态的设置。当 Series隐藏之后,Series中的数据均被保护起 来,因此当它再次显示时不需要重新为点赋 值即可显示,需要说明的是尽管如此,与之 相对应的坐标轴还是会重新绘制以适应改变。 *(2)DataSourse:用于指定Series的数据源,如 果没有指定的话需要手动添加到图表中。 数据源主要有三种: 来自文件中数据; 数据库中数据; 其它Chart Series中数据。
(9)Legend:用于设置图表的图例。可以通过 Style和TextStyle控制text来设置Legend的及其 内容的样式。 (10)Title:用于设置图表的标题。 (11)Gradient:用于设置图表背景的渐变色。
2、Tchart控件常用方法介绍
(1)AddSeries:AddSeries(ASeries: TChartSeries); 使用该方法可以在TChart中添加一个Series组件, 效果和设置与TChart的Series->ParentChart属性 一致。 eg.LineSeries1->ParentChart=Chart1; 注意:动态添加Series时,必须用ParentChart ParentChart 将其与Chart关联起来。 (2)CheckDataSource:该方法常用于刷新Series 中所有点的取值。动态创建或者修改Series中 的数据时,需调用该方法。每当调用该方法时, 图表将重新绘制以反映所发生的变化。
Eg.向序列添加一些随机数: Series1->AddXY(st+1,Yvalue. Last/Yvalue.Multiplier+(Random(Chart SamplesMax) -(Chart SamplesMax/2)); (4)Clear:使用该方法删除Series中的所有 值,即清空。 (5)Count:该方法返回序列中所有点的个 数。 (6)Delete:原型为:Procedure Delete (ValueIndex:LongInt) 该方法用于删除Series中ValueIndex指定 点。执行该方法后,点所在的Chart以及 与之有关的Series将在重画。

lazarus中tchart曲线类型

lazarus中tchart曲线类型

lazarus中tchart曲线类型摘要:ZARUS简介2.TChart曲线类型概述3.TChart曲线类型的应用场景4.如何在Lazarus中使用TChart曲线类型5.总结正文:LAZARUS是一款强大的Delphi编程框架,它为开发者提供了丰富的组件,以便于更快、更高效地开发软件。

其中,TChart组件是一款用于创建2D 图表的库,它支持多种曲线类型,能够满足各种数据可视化的需求。

本文将介绍Lazarus中的TChart曲线类型,并讲解如何在Lazarus中使用它们。

一、LAZARUS简介LAZARUS是一个开放源代码的Delphi编程框架,由Embarcadero Technologies公司开发。

LAZARUS为开发者提供了丰富的组件,使得开发过程更加便捷。

TChart组件是LAZARUS中的一个重要组成部分,它可以帮助开发者轻松地将数据以图表形式展示出来。

二、TChart曲线类型概述TChart组件支持多种曲线类型,包括以下几种:1.Line(折线):这是一种基本的曲线类型,用于连接数据点。

2.Step(阶梯线):在数据点间绘制直线段,并在连接处形成阶梯状。

3.Spline(样条线):通过拟合数据点绘制平滑的曲线。

4.Error(误差线):在数据点周围绘制误差线,用于表示数据点的误差范围。

5.Fill(填充曲线):在数据点之间绘制填充区域,形成曲线。

6.Area(面积图):在数据点之间绘制填充区域,形成曲线。

7.Pie(饼图):以饼状图形式展示数据百分比。

8.Bar(柱状图):以柱状图形式展示数据值。

9.hbar(水平柱状图):以水平柱状图形式展示数据值。

10.Vbar(垂直柱状图):以垂直柱状图形式展示数据值。

11.Radar(雷达图):以雷达图形式展示数据值。

12.Surface(三维表面图):以三维表面图形式展示数据值。

三、TChart曲线类型的应用场景TChart曲线类型适用于各种数据可视化场景,如:统计分析、财务报表、科学研究、工程领域等。

Delphi中Chart

Delphi中Chart

本文主要讲解Delphi中Chart,TeeChart的属性,方法及用法.Tchart分析报告,TeeChart使用指南,TeeChart控件介绍1.AllowZoom : Boolean是否允许鼠标拖动来缩放图表2.AnimatedZoom : Boolean拖动是否显示缩放过程3.AxisVisible : Boolean显示和隐藏4个子图表4.BufferedDisplay :BooleanTrue时图表首先画在内部画布上,可以防止图表闪烁,但耗费内存资源.5.ChartHeight : LongInt以像素为单位,运行为只读,显示图表顶轴与底轴的高度,不包含页边距,Height包含页边距,(**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:/nsgtao/ ****)6.DepthAxis,LeftAxis,RightAxis,TopAxis,BottomAxisTchart共分为五个子图表,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)的百度空间:/nsgtao/ ****)8.Gradient : TChartGradient用于设置图表背景颜色:是否显示背景色,背景色渐变的起始颜色和终止颜色,渐变方向等以下是南山古桃(nsgtao) 引用网上资源引用1.关键词:Tchart分析报告引用2.关键词: TeeChart使用指南,TeeChart控件介绍*************************************************************** *************************************************************** *********************下面是南山古桃引用并整理的文章*************************************************************** *************************************************************** *****1 Tchart分析报告(**** 转载敬请注明-本文出处:南山古桃(nsgtao)的百度空间:/nsgtao/ ****)1.1 [概述]TChart是delphi里面一个标准的图形显示控件。

lazarus中tchart曲线类型

lazarus中tchart曲线类型

lazarus中tchart曲线类型(实用版)目录zarus 简介2.TChart 的定义和作用3.TChart 曲线类型概述4.TChart 曲线类型的具体分类5.结论正文【zarus 简介】Lazarus 是一个免费的 Pascal 编程环境,适用于 Windows、Linux 和 Mac OS X 等操作系统。

它是一个功能强大的集成开发环境 (IDE),支持多种编程语言,如 Object Pascal、Free Pascal 和 Delphi 等。

Lazarus 提供了丰富的功能和组件,使得开发人员可以轻松地编写、测试和调试程序。

【2.TChart 的定义和作用】TChart 是 Lazarus 中的一个图表组件,用于创建各种类型的图表,如图饼图、柱状图、折线图等。

TChart 可以方便地展示数据,使开发人员可以更直观地分析和理解数据。

【3.TChart 曲线类型概述】TChart 曲线类型是指在图表中展示数据时所采用的线条样式。

不同的曲线类型可以表现出不同的数据特征,有助于用户更准确地解读数据。

TChart 支持多种曲线类型,可以满足不同需求。

【4.TChart 曲线类型的具体分类】(1) 折线图:折线图是一种在图表中展示数据变化趋势的曲线类型。

它通过将数据点用线段连接起来,展示了数据随时间或其他变量的变化情况。

(2) 柱状图:柱状图是一种在图表中展示各类别数据大小的曲线类型。

它通过横向排列的柱子来表示各类别的数据值,便于比较不同类别之间的数据差异。

(3) 图饼图:图饼图是一种在图表中展示各类别数据占比的曲线类型。

它通过圆形的扇形来表示各类别的数据占比,便于观察整体数据分布。

(4) 散点图:散点图是一种在图表中展示两个变量之间关系的曲线类型。

它通过在坐标系中绘制数据点,展示了两个变量之间的相关性。

(5) 面积图:面积图是一种在图表中展示数据变化趋势的曲线类型。

它通过将数据点用矩形面积连接起来,展示了数据随时间或其他变量的变化情况。

lazarus对tchart的用法

lazarus对tchart的用法

lazarus对tchart的用法摘要:一、引言二、Lazarus 与TChart 简介三、TChart 的属性与方法四、TChart 的应用场景与实例五、总结正文:一、引言TChart 是一款由Borland Delphi 的Lazarus 开源项目提供的一款强大的图表组件,它允许开发者轻松地在Lazarus 应用程序中创建各种类型的图表,如饼图、柱状图、折线图等。

TChart 具有丰富的功能和良好的性能,使得开发者可以快速、高效地实现数据可视化。

二、Lazarus 与TChart 简介Lazarus 是一款基于Free Pascal 的跨平台快速应用程序开发框架,可用于开发Windows、Linux 和macOS 等平台的应用程序。

TChart 作为Lazarus 的一个组件,提供了丰富的图表功能,使得开发者无需编写复杂的代码即可实现数据可视化。

三、TChart 的属性与方法TChart 提供了丰富的属性和方法,以满足各种不同的需求。

以下是一些常用的属性和方法:1.属性:- AxisX: 设置X 轴的属性,如标签、刻度等。

- AxisY: 设置Y 轴的属性,如标签、刻度等。

- Series: 设置图表系列,如柱状图、折线图等。

- ChartType: 设置图表类型,如饼图、柱状图、折线图等。

- Data: 设置图表数据,可以是数组或对象。

2.方法:- SetSeries: 设置图表系列。

- AddSeries: 添加图表系列。

- RemoveSeries: 移除图表系列。

- SetChartType: 设置图表类型。

- SetData: 设置图表数据。

四、TChart 的应用场景与实例以下是一个简单的使用TChart 绘制柱状图的例子:```pascalprogram TChartExample;usesLazarus,TChart,TChartSeries,TChartAxis;procedure TForm1.Button1Click(Sender: TObject);begin// 创建TChart 组件Chart1 := TChart.Create(Self);Chart1.Parent := Self;Chart1.Align := alClient;// 创建TChartSeries 组件Series1 := TChartSeries.Create(Chart1); Series1.ChartType := stBar;// 设置图表数据Series1.SetData([(10, "A"),(20, "B"),(30, "C"),(40, "D")]);// 设置X 轴和Y 轴属性AxisX := TChartAxis.Create(Chart1); AxisX.Parent := Chart1;AxisX.Align := alBottom;AxisX.Grid := True;AxisY := TChartAxis.Create(Chart1);AxisY.Parent := Chart1;AxisY.Align := alLeft;AxisY.Grid := True;// 设置图表类型Chart1.ChartType := TChartType.ctBar;end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);begin// 释放资源Series1.Free;AxisX.Free;AxisY.Free;Chart1.Free;end;end.```五、总结本篇文章介绍了Lazarus 与TChart 的基本概念,以及TChart 的属性和方法。

TChart的用法

TChart的用法

TChart的⽤法TChart是⼀个功能强⼤的绘制各种数据图表的控件,使⽤它可以很⽅便的绘制出各种数据图表。

下⾯就来详细介绍它的使⽤。

常⽤属性:AxisVisible:Bool型⽤于显⽰或隐藏图表上的四个坐标轴以及显⽰区域的曲线框BufferDisplay:Bool型默认为Ture.可以提⾼图像的显⽰速度消除闪烁MaxPointPerpage:默认为0,⽤来设置每页可以显⽰的点的数量,设置了该属性之后,除最后⼀页外,每页都是以固定的点数显⽰。

(页:表⽰的是TChart的⼤⼩)SeriesList:该属性为⼀指针数组,指向的是TChart中的Series。

获得TChart中的Serries数组,也有三种⽅法1.MySeries := Chart1.SeriesList [ 0 ]2.MySeries := Chart1.Series [ 0 ]3.MySeries := Chart1 [ 0 ]SerriesCount属性获得SeriesList中Series的个数AllowZoom : Boolean是否允许⿏标拖动来缩放图表,通过拖拽⿏标画出矩形可以实现区域放⼤AnimatedZoom : Boolean拖动是否显⽰缩放过程ChartHeight : LongInt以像素为单位,运⾏为只读,显⽰图表顶轴与底轴的⾼度,不包含页边距,Height包含页边距,DepthAxis,LeftAxis,RightAxis,TopAxis,BottomAxisTchart共分为五个坐标轴,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;Foot : TChartTitle在图表底部定义的⽂本和格式,在图表底部显⽰⼀些说明⽂字Chart1.Foot.Text.Add('Nsgtao Foot');Gradient : TChartGradient⽤于设置图表背景颜⾊:是否显⽰背景⾊,背景⾊渐变的起始颜⾊和终⽌颜⾊,渐变⽅向等⽅法,事件,过程:ZoomRect或者ZoomPercent⽅法实现图像缩放Series类型Series类型是TChart绘图的核⼼,在我看来TChart控件只是⼀个容器,它存放的Series数组。

MFC TeeChart 用法整理一

MFC TeeChart 用法整理一

因工作需求,要用到TeeChart控件,发现TeeChart在MFC下的资料很少。

以下一些TeeChart的用法,大多是从网上七拼八凑得到的,还有一些是我自己摸索的,以下代码经均本人测试,测试环境vc++6.0。

TeeChart的安装方法网上有很多,这里不再赘述。

把TeeChart控件添加到工程中后,将其拖到对话框中,然后通过ClassWizard定义一个类变量m_TeeChart。

TeeChart简介:TeeChart的主类是TChart,TChart类存在众多的属性方法和事件,下面介绍一些主要的属性。

1、 TChart.Height:图表的高度;可用下列语句获取或设置图表的高度1 m_TeeChart.SetHeight(100); //设置图表高度为1002long Height_size = m_TeeChart.GetHeight(); //获取当前图表的高度2、TChart.Width:图表的宽度;用法与高度一致,就不在赘述3、TChart.Header:图表的标题;图表可以拥有多级标题,可用下列语句设置图表的标题以及追加标题1 m_TeeChart.GetHeader().GetText()2 .SetItem(0, COleVariant(“TeeChart 使用范例”));3 m_TeeChart.GetHeader().GetText().Add(COleVariant(“追加的标题”));4、TChart.Series:序列;Series是要显示的数据的主体,在一个图表中可以有一个或者多个序列,每一个序列可以有不同的显示类型,例如Line、Bar、Pic等等,稍后将单独描述。

5、TChart.Axis:坐标轴;用来设置坐标轴的属性1 m_TeeChart.GetAxis().GetBottom().GetTitle().SetCaption("X轴的标题");2// 设置X轴的标题,准确的说应该是设置底部轴的标题3 m_TeeChart.GetAxis().GetLeft().GetTitle().SetCaption("Y轴的标题");4// 设置左侧轴的标题5 m_TeeChart.GetAxis().GetBottom().SetMinMax(0, 100);6//设置X轴的范围6、TChart.Legend:图例,图例就是下图中右侧的部分下列语句可以将图列隐藏1 m_TeeChart.GetLegend().SetVisible(FALSE); //隐藏图例画图需要添加序列,添加序列有两种方式。

Tchart 控件使用

Tchart 控件使用

d Delphi Tchart 控件使用!(转帖)收藏这样就会生成一个简单的折线图表,要生成其它类型的数据图表,可以添加不同的数据序列(各种图表的序列类型可以参考帮助文档)。

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 := clY ellow;4.TChart的3D效果如何控制?TChart提供了V iew3D属性,控制是否使用3D效果,View3dWalls属性控制是否显示左侧的3D墙效果5.如何不显示图表控件生成图表?很遗憾,TChart是一个Windows窗体控件,必须依附一个窗体或Windows控件才能使用。

如果要不显示TChart的话,可以将TChart的V isible属性设为False来使用。

下面的例子创建了一个隐藏的TChart来生成图表:varChart: TChart;S: TChartSeries;TmpFile: string;beginChart := TChart.Create(nil);tryChart.Parent := Application.MainForm;Chart.V isible := False;Chart.Title.Text.Text := '测试图表';S := TBarSeries.Create(Chart);Chart.AddSeries(S);S.Title := '嘿嘿';S.AddXY(1, 56, '一月', clGreen);S.AddXY(2, 67, '二月', clY ellow);S.AddXY(3, 34, '三月', clBlue);S.AddXY(4, 78, '四月', clRed);Chart.V iew3D := 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;分析报告1.1 [概述] TChart是delphi里面一个标准的图形显示控件。

C#趋势图Tchart用法

C#趋势图Tchart用法

一、TeeChart使用指南1.添加引用一下两个DLL文件到项目中。

工具箱中右键打开选择项,如上图所示在筛选器中打开浏览找到项目中的TeeChart.dll文件点击打开,完成后工具栏中将会出现teechart控件的图表2.创建一个webchart控件到页面中3.编辑属性4.在上图中添加series ,设置teeChart Gallery属性5.设置数据库连接6.必要参数设置如何在项目中使用破解版本的TeeChart?1、建一个aspx文件Default.aspx;2、在设计视图中拖进去一个控件;3、在属性窗口的杂项中,将GetChartFile设置成GetChart.aspx(默认)将TempChart属性设置成Session新建aspx文件GetChart.aspx,在GetChart.aspx.cs中写入以下代码: using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;///<summary>///为了覆盖session变量中的图表, 新建一个页面,命名为GetChart.aspx///</summary>public partial class GetChart : System.Web.UI.Page{///<summary>///将图片存储在session变量中///</summary>///<param name="sender"></param>///<param name="e"></param>protected void Page_Load(object sender, EventArgs e){string chartName = Request.QueryString["Chart"];if (Session[chartName] != null){System.IO.MemoryStream chartStream = newSystem.IO.MemoryStream();chartStream =((System.IO.MemoryStream)Session[chartName]);Response.OutputStream.Write(chartStream.ToArray(), 0, (int)chartStream.Length);chartStream.Close();Session.Remove(chartName);}}}如何将GetChart.aspx拷贝到当前的工程目录下。

fastreport中的tchart用法

fastreport中的tchart用法

fastreport中的tchart用法
在FastReport中,TChart是一个用于绘制图表的控件。

以下是关于TChart的用法说明:
1. 添加TChart控件:
首先在FastReport设计器中打开报表文件,在工具箱中找到TChart控件,将其拖放到报表页面上的合适位置。

2. 设置图表类型:
在FastReport设计器中选中TChart控件,在属性栏中找到Chart属性,通过选择不同的Chart类型来设置图表的类型,常见的图表类型有折线图(Line),柱状图(Bar),饼图(Pie)等。

3. 数据源设置:
在FastReport设计器中选中TChart控件,在属性栏中找到Data属性,点击“...”按钮来设置Chart的数据源。

可以使用数据库查询或者手动设置数据源。

4. 数据绑定:
在FastReport设计器中选中TChart控件,在属性栏中找到ValueIndexList属性,通过点击“...”按钮来设置数据的绑定关系。

可以指定X轴和Y轴的数据字段。

5. 图表样式设置:
在FastReport设计器中选中TChart控件,在属性栏中找到Chart属性,通过设置属性值来调整图表的样式,包括标题、背景色、字体、边框等。

6. 运行报表:
当完成了TChart的设置后,保存报表文件并退出设计器。

然后在代码中加载和运行报表文件,就可以看到TChart控件显示出图表的效果。

以上是关于在FastReport中使用TChart的基本用法说明。

具体的使用方法还可以参考FastReport的官方文档或者查找相关的教程和示例代码。

tchart的用法

tchart的用法

tchart的用法T-chart是一种常见的分类表格工具,通常用于比较两种不同的事物或概念。

T-chart 包含两个列,左列写有选定事物或概念的名称,右列是其中各个特点的列表。

在学习、研究和决策过程中,T-chart是一种非常实用的工具,可以帮助我们很好地理清事物与概念的不同之处。

使用T-chart的步骤可以归纳为以下几点:1.确定要比较的两个事物或概念,例如大学和职业学校。

2.在左侧的列中,写下大学和职业学校的名称。

3.在右侧的列中,分别列出大学和职业学校中不同的特点。

如大学中的“学科门类丰富”、“学术氛围浓厚”、“研究生遍布”等,而职业学校中的“专业针对性强”、“实用知识多”、“毕业后就业率高”等。

4.在两个事物或概念的右侧列中比较它们之间的不同。

这将有助于更好地理解它们之间的差异和优劣势,并支持我们做出更好的决策。

T-chart的使用场景也非常广泛。

以下是几个典型的例子:1.市场分析:T-chart可用于对两种不同的市场进行比较,例如新兴市场和成熟市场。

它可以帮助分析不同市场的机会和威胁等关键因素。

2.职业选择:在选择职业时,T-chart可用于比较不同职业的优缺点。

例如,比较销售工作与行政工作,可以帮助解决哪个更适合自己的问题。

3.产品设计:在产品设计阶段,T-chart可用于比较不同设计选项的优劣势。

例如,比较直立自行车和折叠自行车,可以帮助决定哪个更适合目标客户。

无论是在学校、工作还是生活中,T-chart都是一个非常实用的工具,可以帮助我们更好地从多个角度看待问题。

它可以提供对两个不同事物或概念之间的区别的洞察,更好地支持我们做出更明智的决策。

lazarus对tchart的用法

lazarus对tchart的用法

lazarus对tchart的用法Lazarus对TChart的用法一、介绍TChartTChart是Lazarus中的一个强大的图表组件,可以方便地绘制各种类型的图表,如曲线图、柱状图、饼图等。

二、安装TChart要使用TChart组件,首先需要安装它。

安装步骤如下: - 打开Lazarus IDE。

- 载入需要使用TChart的项目。

- 打开“包”菜单。

- 选择“安装/卸载”。

- 在弹出的安装对话框中,选择“TChart”。

- 点击“安装”按钮,等待安装完成。

三、添加TChart到窗体在Lazarus中添加TChart组件到窗体,可以按照以下步骤: -打开窗体设计器。

- 在界面上选择“标准”选项卡。

- 在工具箱中找到TChart组件,使用鼠标将其拖放到窗体上。

四、设置TChart属性设置TChart的属性可以通过以下方式来完成: - 双击窗体上的TChart组件,打开TChart编辑器。

- 在TChart编辑器中,可以设置标题、轴标签、图例等属性。

- 通过设置TChart的方法,如:= '曲线图'来修改属性。

五、绘制曲线图绘制曲线图可以通过以下步骤来完成: 1. 添加一个TLineSeries组件到TChart上。

2. 在代码中设置曲线的数据。

pascal var i: Integer; begin fori := 1 to 10 do [0].AddXY(i, i*i); end; 3.在TChart编辑器中,设置曲线的颜色、线型等属性。

六、绘制柱状图绘制柱状图可以通过以下步骤来完成: 1. 添加一个TBarSeries组件到TChart上。

2. 在代码中设置柱状图的数据。

pascalvar i: Integer; begin for i := 1 to 5 do [0].Add(i, 'Bar ' + IntToStr(i)); end; 3. 在TChart编辑器中,设置柱状图的颜色、宽度等属性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.TChart的3D效果如何控制?TChart提供了View3D属性,控制是否使用3D效果,View3dWalls属性控制是否显示左侧的3D墙效果5.如何不显示图表控件生成图表?很遗憾,TChart是一个Windows窗体控件,必须依附一个窗体或Windows控件才能使用。如果要不显示TChart的话,可以将TChart的Visible属性设为False来使用。
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)
下面的例子创建了一个隐藏的TChart来生成图表:
var
Chart: TChart;
S: TChartSeries;
Tmpfile&: string;
begin
Chart := TChart.Create(nil);
try
Chart.Parent := Application.MainForm;
1.6.2 是Chart尽可能包含少的点
1.6.3 如果需要,可以移除(remove)chart的legend(?????)和Title
1.6.4 使用默认的字体和字体大小
1.6.5 使用FastLineSeries
1.6.6 使用实体(solid)画笔和画刷格式
S.AddXY(1, 56, '一月', clGreen);
S.AddXY(2, 67, '二月', clYellow);
S.AddXY(3, 34, '三月', clBlue);
S.AddXY(4, 78, '四月', clRed);
Chart.View3D := False;
1.3.4 TChart里的series的active属性可以实现对已绘制图形的显示或者隐藏
1.3.5 在TChart中, tchartSeries是所有具体series的父类,没有画出什么来的,用一个具体的series类来创建就可以了,比如用TLineSeries、TPieSeries、 TPointSeries、 TPointSeries等等都行
Chart.RightAxis.Increment := 1000;
1.4.8 如何对图象进行缩放?
TChart的ZoomRect或者ZoomPercent方法 (Pie图可能不支持缩放)
1.5[TChart可以绘制的图形]
1.5.1 Line ( TLineSeries)
1.3.6 TTeeFunction Component可以实现在同一个TChart里面,一个Serries对另一个Serries的统计
1.4[问题极其使用技巧]
1.4.1 TChart中如何实现只有Y轴的放大与缩小功能?设置BottomAxis或者LeftAxis的Automatic:=false并同时设置Minimum,Maximum属性
1.5.10 Gantt (TGanttSeries)
1.5.11 Sharp (TChartShape)
1.6[TChart的实时绘制]
实时绘制对机器性能要求比较高,因此我们在编程的时候要注意下面几个方面:
1.6.1 使用2D图形
1.6.7 尽量避免使用圆形和环行bar样式
1.6.8 不要使用背景图片和渐变效果样式
1.6.9 把Chart的BevelInner和BevelOUter属性设置为bcNone
var
Series: TLineSeries;
begin
Series := TLineSeries.Create(Chart1);
Series.Add(100, 'aaa', clRed);
Series.Add(200, 'AAA', clGreen);
Chart1.AddSeries(Series);
{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.}
Chart.BackColor := clWhite;
Chart.Gradient.StartColor := clWhite;
Chart.Gradient.EndColor := clWhite;
Chart.Gradient.Visible := True;
:='@宋体';
Grid.Visible := False;
end;
//设置右坐标
with myChart.RightAxis do
begin
Automatic:=false;
Title.Font:=Self.Font;
end;
end;
1.1[概述]
TChart是delphi里面一个标准的图形显示控件。它可以静态设计(at design time)也可以动态生成。
1.2[继承关系]
Tobject
TPersistent
TComponent
TControl
TCustomControl
TmpFile := Application.ExeName + '.bmp';
Chart.SaveToBitmapFile(TmpFile);
Image1.Picture.LoadFromFile(TmpFile);
finally
Chart.Free;
Chart1.Gradient.Visible := True;
Chart1.Gradient.Direction := gdFromTopLeft;
Chart1.Gradient.StartColor := clGreen;
Chart1.Gradient.EndColor := clYellow;
end;
这样就会生成一个简单的折线图表,要生成其它类型的数据图表,可以添加不同的数据序列(各种图表的序列类型可以参考帮助文档)。
2.如何设置图表的标题?TChart组件提供了Title属性可以这是图表的标题,包括标题的内容、字体、对齐方式等都可以通过Title属性设置。最简单的设置方式:Chart1.Title.Text.Text := '图表的标题';
使用Series的delete 方法
1.4.4 如何修改一个点的X或者Y 值?
LineSeries1.YValue[3] := 27.1 ;
{In Bubble Series}
BubbleSeries1.RadiusValues.Value[ 8 ] := 8.1 ;
1.5.2 FastLine (TFastLineSeries) 相对Line来说,它损耗了某些属性从而来实现快速绘制
1.5.3 Bar (TBarSeries)
1.5.4 Horizontal bar (THorizBarSeries)
TWedgetControl
TChart
TCustomPanel
1.3[提示]
1.3.1 Pro Version支持Bezier , Contour , Radar 和 point3D 曲线
1.3.2 支持jpeg文件的导出
1.3.3 Chart中的Series 可以连接到Table , Query , RemoteDataset(其他数据集)
end;
//设置左坐标
with myChart.LeftAxis do
begin
Automatic:=false;
Minimum:=0;
Title.Angle:=270;
Title.Font:=Self.Font;
Title.Font.Charset:=ANSI_CHARSET;
最近开发要使 用图表,Delphi里提供了图表开发的控件TChart,可惜帮助里没有DEMO代码,上网搜索了一下,竟然发现文章也少的可怜。没办法,自己丰衣足 食,写代码试用,看帮助,读代码,搞了半天大概弄明白了TChart的使用方式,下面写一下几个常见问题的解决。
1.如何写一个TChart的Hello World?放一个控件到窗体上,然后写代码加入一个折线数据序列:
1.4.2 如何固定TChart中的坐标,不使TChart中的坐标跟随Series的变化而变化?
//设置底座标
with myChart.BottomAxis do
begin
Automatic:=false;
Minimum:=0;
LabelStyle := talText;
Title.Font.Charset:=ANSI_CHARSET;
:='@宋体';
Title.Caption:='累计百分比(%)';
Maximum:=;
1.4.3 如何删除一个图形中的一个点?
1.4.6 如何在chart中画出的曲线某个点上标记出该点的值?
Series.Marks.Visible:=true;
Series.Marks.Style:=smsValue;
相关文档
最新文档