函数类型

  函数特点

  TeeChart Pro功能是一个系列,几乎可以是任何系列类型,应用代数函数,数据源是另一个图表系列。

  所有函数都派生自TTeeFunction组件并继承TeeFunction的Period属性。

  TeeChart Pro包含以下预定义功能列表。有关所有功能类型的完整列表,请参阅TeeChart Editor Gallery和Helpfile:

  函数类别导入数量描述

  Add无限绘制输入的总和

  Average无限平均函数将计算每组Period点的平均值

  Bollinger1布林线函数使用简单或指数移动平均线来构建布林线交易区间

  Copy1输入系列的直接副本

  Curve Fitting1使用TypeFitting公式通过数据输入绘制拟合多项式

  Divide无限分割函数绘制输入按包含的降序划

  Exponential Average1基于权重的指数平均值

  Exponential Moving Average1基于权重的指数移动平均线

  Exponential Trend1通过输入系列中的点绘制最佳指数趋势

  High无限高功能绘制高输入点

  Low无限低功能绘制低输入点

  MACD1移动平均收敛分歧

  Momentum1每个Y值是当前点的Y值减去最后一个Period点的Y值

  Momentum Division1每个Y值是当前点的Y值除以最后一个Period点的YValue,以百分比表示

  Moving Average1移动平均线功能将计算每组周期点的简单或加权平均值

  Multiply无限乘法函数绘制输入值的乘积

  Root Mean Square无限均方根函数绘制输入的RMS值

  Relative Strength Index1RSI函数根据财务数据计算百分比值。根据TRSISyle类型,将使用不同的公式来计算RSI值

  Standard Deviation1映射每组Period点的标准偏差(或完全标准差)

  Stochastic1

  Subtract无限绘图的输入值按包含的降序减去

  Trend1通过输入系列点绘制最佳趋势线

  多种函数类型仅支持一个输入系列。但是,可以链接链接函数,例如,将图表中多个系列的平均值创建为平均函数系列,然后使用平均函数作为趋势函数的输入来标识平均值的趋势。

  添加函数

  使用图表编辑器,在“第一个图表”页面上,选择“ 添加”按钮,就像将新系列添加到图表一样。在TeeChart Gallery中,选择Functions选项卡以选择所需的功能。每个功能都显示为一个系列,您可以稍后通过选择第一个图表页面上的更改按钮来更改与该功能关联的系列类型。之后,在函数系列的“数据源”页面上可以轻松更改函数定义。在这里,同样容易,您可以将已添加到Chart的正常Series的定义更改为Function的定义(Function实际上是数据源的定义,而不是Series Type的定义)。

  下图显示了编辑函数时的“数据源”页面。线系列(名称“Series2”,标题“平均”)被定义。数据源页面底部的左侧列表框显示了可用于输入的图表中的其他系列(此处为“Series1”)。

  假设我们从一个完全空的Chart开始,这里是代码中构建一个简单的Series-Function相关Chart的步骤。

  procedure TForm1.BitBtn5Click(Sender: TObject);

  var tmpBarSeries1,

  tmpBarSeries2 : TBarSeries;

  tmpLineSeries : TLineSeries;

  begin

  //Add 2 data Series

  tmpBarSeries1:=TBarSeries.Create(Self);

  tmpBarSeries2:=TBarSeries.Create(Self);

  AddSeries(tmpBarSeries1);

  AddSeries(tmpBarSeries2);

  //Populate them with data (here random)

  tmpBarSeries1.FillSampleValues(10);

  tmpBarSeries2.FillSampleValues(10);

  //Add a series to be used for an Average Function

  tmpLineSeries:=TLineSeries.Create(Self);

  AddSeries(tmpLineSeries);

  //Define the Function Type for the new Series

  tmpLineSeries.SetFunction(TAverageTeeFunction.Create(Self));

  //Define the Datasource for the new Function Series

  //Datasource accepts the Series titles of the other 2 Series

  tmpLineSeries.DataSources.Clear;

  tmpLineSeries.DataSources.Add( tmpBarSeries1 );

  tmpLineSeries.DataSources.Add( tmpBarSeries2 );

  // *Note - When populating your input Series manually you will need to

  // use the Checkdatasource method

  // - See the section entitled 'Defining a Datasource'

  //Change the Period of the Function so that it groups averages

  //every 2 Points

  tmpLineSeries.FunctionType.Period := 2;

  end;

  我们可以添加另一个函数来告诉我们有关前一个函数的信息

  procedure TForm1.BitBtn6Click(Sender: TObject);

  var tmpHighLine : TLineSeries;

  begin 无锡妇科医院哪家好 http://www.xasgyy.net/

  //Add another Series to be used for a 2nd Function

  tmpHighLine:=TLineSeries.Create(Self);

  AddSeries(tmpHighLine);

  //Define the Function Type for the new Series

  tmpHighLine.SetFunction(THighTeeFunction.Create(self));

  //Define the Datasource for the new Function Series

  //Use the existing Function (tmpLineSeries) as input

  //You should declare tmpLineSeries globally to the module

  //if you wish to use it between procedures

  tmpHighLine.DataSource := tmpLineSeries;

  //Leave the Period at default 0 (No Period set) to draw

  //A line at Highest of all points of the Average Function

  end;

  定义数据源

  上一节中的示例重点介绍了使用Datasource按代码对函数进行内容处理。Series使用Datasource定义Function的输入或定义Series TDataset数据源(请参阅有关访问数据库的教程)。

  使用图表编辑器,在添加函数后,函数系列的“数据源”页面将显示包含在函数定义中的可用系列列表。在这里,您可以更改要应用于系列的功能类型,并从左侧列表框“可用”中选择系列,并将它们添加到右侧列表框“已选择”;。

  按代码的数据源使用Series.Datasource属性。

  假设我们在图表中有2个数据系列。我们使用图表编辑器添加由2系列的平均值组成的函数:

  我们为2系列添加点数:

  var t : Integer;

  For t := 0 To 10 do

  begin

  Series1.Add(2 * t);

  Series2.Add(3 * t);

  end;

  请注意,该功能不会显示。您需要使用Series.CheckDatasource方法读取Function的值。

  Series3.CheckDataSource; //Read in data for Function

  可以使用Setfunction方法在运行时更改函数定义,以便为Series分配新函数。

  Series3.Setfunction(TMovingAverageFunction.Create(self));

  使用上面的代码行,Setfunction将Series3的Function更改为Moving Moving。

TeeChart Pro VCL/FMX教程之使用函数的更多相关文章

  1. Steema TeeChart Pro VCL FMX 2017.20 Full Suorce在Delphi XE10下的安装

    一.首先将压缩包TeeChart Pro VCL FMX 2017.20 FS.rar解压到一个目录,比如 E:\Application\Steema TeeChart Pro VCL FMX 201 ...

  2. TeeChart For VCL/FMX V2017使用教程:第一章-准备开始

    https://blog.csdn.net/vbfgm/article/details/79338775 第一章 准备开始-构建图表和填充数据序列 1.1 简介 通过代码或Dataset(数据集)访问 ...

  3. TeeChart Pro 5.0

    这是Delphi7自带例子 C:\Program Files\Borland\Delphi7\Demos\TeeChart 以下为翻译的文字,有部分不准确. TeeChart Pro 5.0是一个库 ...

  4. 升级TeeChart pro

    teechart 安装流程如下: 1.  将生成的 LIB中的 选中文件copy到C:\Users\Public\Documents\RAD Studio\8.0\Dcp 图1 1.  fastrep ...

  5. VCL+FMX 双剑合壁编程

    VCL 是经典,FMX 是新生,新生事物总会带来一些好玩新奇的东西.舍弃经典是浪费,不了解新生事物是等死,那么我们来一个二合一双剑合壁又如何呢? 要双剑合壁,就得投些机,取些巧.由于 Delphi / ...

  6. 智能合约语言 Solidity 教程系列3 - 函数类型

    Solidity 教程系列第三篇 - Solidity 函数类型介绍. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你先看以 ...

  7. Linux pwn入门教程(10)——针对函数重定位流程的几种攻击

    作者:Tangerine@SAINTSEC 本系列的最后一篇 感谢各位看客的支持 感谢原作者的付出一直以来都有读者向笔者咨询教程系列问题,奈何该系列并非笔者所写[笔者仅为代发]且笔者功底薄弱,故无法解 ...

  8. ES6教程-字符串,函数的参数,了解函数的arguments对象,js面向对象,设计模式-单例模式,解构赋值

    前言 主要讲解了ES6对字符串的拓展,包括includes,startsWith和endsWith,另外增加了字符串模板. Start includes()是否包含 startsWith()以什么开头 ...

  9. 宝塔安装Lsky Pro图床教程

    欢迎访问我的个人博客皮皮猪:http://www.zhsh666.xyz Lsky Pro图床是一个支持本地.阿里云 OSS.腾讯云 COS.七牛云.又拍云等储存方式的基于PHP的开源图床. 项目主页 ...

随机推荐

  1. influxdb数据库的安装部署(windows)二

    1.把下载好的文件解压到目录中 2.以管理员身份运行cmd进入influxdb-1.7.6-1文件夹 3.生成influxdb数据的默认配置Config文件 4.修改Config配置信息 5.用配置好 ...

  2. TCP Socket通信详细过程

    下面这篇文章是参考"骏马金龙"博客中 不可不知的socket和TCP连接过程 https://www.cnblogs.com/f-ck-need-u/p/7623252.html ...

  3. 伪元素选择器:before 以及 :after

    E:after.E:before 在旧版本里是伪类,在新版本里是伪元素,新版本下E:after.E:before会被自动识别为E::after.E::before,按伪元素来对待,这样做的目的是用来做 ...

  4. solr 常见异常

    solr4.3本地数据提交异常分析 (2013-06-19 16:03:15) 转载▼   异常一. Exception in thread "main" java.lang.No ...

  5. Oozie的架构

    Oozie的架构图,如下: 从oozie的架构图中,可以看到所有的任务都是通过oozie生成相应的任务客户端,并通过任务客户端来提交相应的任务. 继续...

  6. [转]ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL

    本文转自:http://www.cnblogs.com/John-Connor/archive/2012/05/03/2478821.html 引言-- 在初级篇中,我们介绍了如何利用基于ASP.NE ...

  7. c#内存管理,垃圾回收和资源释放

    <1>关于虚拟内存的概念 Windows使用一个虚拟寻址系统,该系统把程序可用的内存地址映射到硬件内存中的实际地址上去,这些任务完全由windows后台管理,其实际结果是32位处理机上的每 ...

  8. AJPFX总结java开发常用类(包装,数字处理集合等)(一)

    一:首谈java中的包装类 Java为基本类型提供包装类,这使得任何接受对象的操作也可以用来操作基本类型,直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类.jav ...

  9. Oracle、MySQL和SqlServe分页查询的语句区别

    ★先来定义分页语句将要用到的几个参数: int currentPage ; //当前页 int pageRecord ; //每页显示记录数 以之前的ADDRESSBOOK数据表为例(每页显示10条记 ...

  10. canvas防画图工具

    <style> body {   background: black;   text-align: center; } #cans {   background: white; } < ...