提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:况鱼杰|2019-10-28 13:59:28.157|阅读 352 次
概述:本教程转自屈景辉的Teechart应用技术详解——快速图表制作工具一书,本文将会介绍此书的第三章图表与序列的操作维护的第二小节:序列的维护(上)。将会介绍运行期间如何创建序列,序列列表、技术与删除、运行时如何改变序列的Z顺序,以及如何增加序列的点等部分。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
Steema公司和慧都科技针对中国市场联合推出中文版TeeChart for .NET图表控件,一共汉化2000个词条(17000个单词),汉化文档35000个单词,包括控件设计时与运行时的界面汉化以及控件使用向导文档的汉化,总汉化90%以上!
TeeChart for .NET中文版让您在使用和学习上没有任何语言障碍,至少可以节省30%的开发时间。TeeChart for .NET中文版具有易上手,使用方便,稳定性好,性价比高,价格优惠等优势,并且针对Web应用提供无限制服务器分发授权方式,非常有利于产品集成。
运行期间创建序列
运行时创建序列和创建其他 Delphi组件是一样的,首先需要定义序列变量,然后创建序列,并指定该序列所属的Chart:
Var MySeries TBarSeries; Myseries:TBarSeries.Create(Self); MySeries.ParentChart:Chart1;
现在可以给序列增加点,其他操作与设计阶段操作是一样的。如果不需要访问序列,以上代码可以压缩到一行:
Chart1.AddSeries(TBarSeries Create(Self));
`或者可以通过一个序列类进行引用:
Var Myclass:TChartSeriesClass; //声明一个序列类变量 Myclass:=TBarseries; //设置序列类的类型 Chart1.AddSeries(Myc1ass.Create(se1f)); //创建序列类组件
上述三种方法之一都可完成序列的创建任务。
序列列表、计数与删除
图表组件在SeriesList属性中保存了所有的序列, SeriesList是一个 Delphi的TList对象,这个属性是只读,可以通过下列方法之一访问。
使用SeriesList属性:
MySeries:=Chart1 SeriesList [0]
使用序列数组属性:
MySeries Chart1 Series [0]
使用Chart的默认属性:
MySeries :=Chart1[0]
SeriesCount属性返回SeriesList属性中序列的个数,下面代码可以列举Chart的所有序列:
for t =0 to Chart1. SeriesCount -1 do With Chart1.Series[ t] do begin SeriesColor:=c1Blue; end;
可以通过下列任一方法删除序列:
设置序列的 Active属性:
Series1. Active:=False;
从图表组件中移出:
Series. ParentChart:=nil;
销毁序列实例:
Series1.Free;
运行时改变序列的Z顺序
在3D模式(当Chart1.View3D=True时)中,所有序列都被赋予一个在Z顺序中的位置,也就是说序列在3D空间中从最远的序列绘制。使用下列方法可以变换Z顺序以重新绘制:
Chart1.ExchangeSeries(0,1);
或者
Chart1.SeriesUp(Series1); Chart1.SeriesDown(Series1);
这时 Series.ZOrder属性返回序列对应Z序列中的一个位置。
增加序列的点
任一类型的序列在每个点至少有两个值即点的X、Y坐标,这个值是Double型的浮点数。扩展型序列具有两个以上的值,像BubbleSeries序列每个点有X、Y和Radiusvalues(半径)三个值。每个序列都有各自增加点的方法,像Line、Bar、 Point、Area都用 AddY方法增加点。下面的代码是清空一个序列后再增加两个点:
Series1.Clear; Series. Add(1234, 'USA', c1Blue); Series1. Add (2001, 'Europe', c1Red );
对于扩展型序列需要使用各自增加点的方法序列的 AddArray方法也可以用来增加点,AddArrayo在增加点前不清除序列。
Series3.Clear; Series3.AddArray([1234,2001,4567.12);
增加数组中的数据
为了将数组的数据增加到图表的序列中,可采用下列方法实现
procedure TDynArrays.Button1Click(Sender:Tobject ); Var X, Y: Array of Double; //TChartValues t:Integer; Nun:Integer; begin Num:=StrToInt(Edit1.Text); //使用编辑框设置数组的大小 SetLength(X,Num); //设定数组的大小 SetLength(X,Num); X[0]:=0; Y[0]:=Random(10000); for t:=1 to Num-1 do //数组赋值 begin X[t]:=t; Y[t]:=Y[t-1]+Random(101)-50; end; With Series. XValues do //设置X数组 begin Value:=TChartValues(X); //数组 Count:=Num; //点数 Modified:=True; //重新计算min和Max end; With Series1.Yvalues do //设置Y数组 begin Value:=TChartValues(Y); Count:= Num; Modified:=True; end; Chart1.UndoZoom; //取消放大操作 Series1.Repaint; //重绘以显示数据 end;
空值
有时指定的点可能没有值,但可以使它作为Zero或 Null。Null值将不显示,而Zero通常是显示的。下面的代码作用是增加几个点和一个空点:
With Series1 do begin Clear; AddY(10,'John', c1Green ); AddY (20,'Anne';c1Yellow); AddY(15, 'Thomas',c1Red ); AddNull('Peter'); AddY(25, 'Tony', c1Blue ); AddY (20, 'Mike',c1Lime );
不同序列类型处理空值的方法是不一样的。棒图、横向棒图、线条图、面积图和点图不显示空点,而饼型图空值用Zero显示。
点的顺序控制和限制
点可以按X或Y的值进行任意排序, Series.XValues和 Series.Yvalues的Order属性可以控制点的顺序:
Series1.XValues.Order:=loAscending;
Order属性的取值是loNone,loAscending或loDescending。默认状态下XValues的Order设为 loAscending, YValues的Order设为loNone,这意味着新增加的点按它们的X坐标进行排序,对于非XY的图表,X坐标点的位置总是从零开始。点的排序由序列组件重画它的点。
注意:必须在点增加以前就要设置为排序。
可以在运行期间改变排序Order属性。下面的代码调用了排序方法,如:
拖到TChart组件到Form中,并增加 TLineSeries序列。
增加TButton按钮,并在 Button1Click事件中添加下列代码。
Series1.AddArray([ 5, 2,3,9]);
再增加一个TButton按钮,并在Button2Click事件中添加代码。
With Series1 do begin YValues.Order:=loAscending; YValues.Sort; Repaint; End;
现在,单击Button1按钮填充Series1,单击Button2看到Series1的点按YValues做升序排列,但Ⅹ坐标没有改变。
另外,一个图表组件中可以有多少条序列和一个序列中可以有多少个点与组件本身无关,而与机器的内存多少有关。
下一节我们将会介绍第三章图表与序列的操作维护:序列的维护(下)。如果有对Teechart图表感兴趣的朋友,可以多多关注本教程,并且欢迎在评论区留言。
相关资料推荐:
上一章:图表轴的维护
现TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在线订购,现在抢购可立享优惠!
关注慧聚IT微信公众号☟☟☟,了解产品的最新动态及最新资讯。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
交互性强的轻量级ActiveX图表控件,能高效生成多任务仪表板
TeeChart Pro VCL/FMX支持RAD Studio,Delphi和C ++ Builder以及FireMonkey的图表制作工具
TeeChart for Java适用于所有主流Java编程环境的TeeChart图表库
TeeChart for PHP一款含100%的PHP源代码并支持PHP5及更高的版本的图表开发工具
TeeChart for .NET优秀的工业4.0 WinForm图表控件,官方独家授权汉化,集功能全面、性能稳定、价格实惠等优势于一体
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢