Teechart图表应用技术详解—第五章之TeeChart实时监控原理和轴管理工具

    Steema公司和科技针对中国市场联合推出中文版TeeChart for .NET图表控件,一共汉化2000个词条(17000个单词),汉化文档35000个单词,包括控件设计时与运行时的界面汉化以及控件使用向导文档的汉化,总汉化90%以上!

    TeeChart for .NET中文版让您在使用和学习上没有任何语言障碍,至少可以节省30%的开发时间。TeeChart for .NET中文版具有易上手,使用方便,稳定性好,性价比高,价格优惠等优势,并且针对Web应用提供无限制服务器分发授权方式,非常有利于产品集成。

TeeChart for .NET最新试用版


    实时监控是以时间为基准的连续描述信息变化的一种监控方法,在各行各业都具有广泛的应用,因此,以图表形式实时记载信息变化曲线给TeeChart赋予了重要的任务。

TeeChart实时监控原理

    Chart图表是在一个固定区域中显示指定信息,当需要实时监控时就保持当前时刻以前个时间段的信息,随着时间的推移,这个时间段会发生新的变化,也就说在这个显示区域总是显示最新时间段的信息。那么,就需要在增加一个新时间点后,将原来显示的信息平移出显示区域一个时间点,不断重复这个操作,就实现了实时的监控操作。

使用TeeChart的轴管理工具

    TeeChart提供了5个有关轴管理的工具,其中Axis Scroll、Axis Arrows两个工具与轴的滚动密切相关,而由Axis Scroll实现轴滚动更为方便。

Axis Scroll轴滚动工具

图1.Chart Tools Gallery窗口      图2.增加工具后的界面

Axis Scroll工具的主要属性

    Axis Scroll工具是一个TAxisScrollTool对象,其中包含TChartAxis对象,这是一个专门用来管理图表坐标轴的对象,该对象的Scroll方法为滚动坐标轴提供了方便。如:

ChartTool1.Axis.Scrol1(1.0);

    实际上,只需要使用这个方法就可以实现滚动。当然,如果要对坐标轴实现其他操作可以利用工具提供的其他属性、方法和事件。

代码实现

    一个窗口区域显示的数据点数是固定的,当点数超过指定值后,就应该加入新的点而移出最旧的点,这样就是一个窗口滚动的过程。为了模拟实时监控状态,可以利用定时器来实现,在定时器的 OnTimer事件中加入下列代码

n:=Random(100);                           //随机数发生器Series1. Add(n, TimeToStr(Time));  //增加当前点,并在X轴上标注当前时间Series1. RefreshSeries;                    //刷新序列if Series1.Count >100 then             //判断当前窗口的点数是否超过100个点ChartTool1.Axis.Scroll(1.0);              //当大于100点时每次规动1.0个单位

    即窗口中的点数超过100时,移动1.0个单位。

应用实例

  • 建立一个新工程,并按下表所示设置组件属性,设计阶段的界面如图3所示。

组件名 属性 设置 说明
TChart Name Chart1 图表组件
TLineSeries Name Series1 线型序列组件
TTimer Name Timer1 定时器
Interval 100/500/1000
TComboxBox Name ComboxBox1 数据频率选择
Items 100/500/1000
TRadioGroup Name RadioGroup1 功能选择
Items 执行实时监控/记录历史状态
TCheckBox Name CheckBox1 用作定时器开关
Checked False

    

实时监控举例设计阶段界面

    在ComboBox1Change事件中加入下列代码,用于设定时间间隔,即数据采集频率:

procedure TForm1.ComboBox1Change (Sender:Tobject);begincase ComboBox1. ItemIndex of0: Timer1.Interval:=1000;1: Timer1.Interval:= 500;2: Timer1.Interval:=100;end;end;
  • 在定时器的OnTimer事件中加入下列代码,根据分组框的功能选择,确定定时器的工作方式以及序列数据的追加、屏幕滚动等属性。

procedure TForm1.Timer1Timer(Sender:TObject);beginn:=Random(100);Series1.Add(n, TimeToStr(Time));Series1.RefreshSeries;if RadioGroup1.ItemIndex=0 then  begin  if Series1.Count >100 then     ChartTool1.Axis Scroll(1.0);  end  else if RadioGroup1.ItemIndex=1 then         begin         Chart1.BottomAxis.Automatic:=true;         end;end;

    最后,在CheckBox1的OnClick事件中加入下列语句:

Timer1.Enabled:=CheckBox1.Checked;

    该条语句用于控制定时器的打开与关闭以实现功能切换。该实例运行阶段的界面如下图所示。

实时监控运行阶段界面

相关资料推荐:

上一章:综合应用实例

下一章:使用极值控制实现实时监控

Teechart 2019资源合集

=====================================

    现TeeChart for .NETTeeChart for JavaScript/HTML5TeeChart for Xamarin.Android等均已加入在线订购,现在抢购可立享优惠!

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年11月10日
下一篇 2019年11月10日

相关推荐

发表回复

登录后才能评论