轉帖|使用教程|編輯:況魚杰|2019-12-13 14:56:38.837|閱讀 482 次
概述:本教程轉自屈景輝的Teechart應用技術詳解——快速圖表制作工具一書。本文將會介紹第五章——TeeChart的實時監控與地圖顯示,其中的TeeChart實時監控原理和使用TeeChart的軸管理工具。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Steema公司和慧都科技針對中國市場聯合推出中文版TeeChart for .NET圖表控件,一共漢化2000個詞條(17000個單詞),漢化文檔35000個單詞,包括控件設計時與運行時的界面漢化以及控件使用向導文檔的漢化,總漢化90%以上!
TeeChart for .NET中文版讓您在使用和學習上沒有任何語言障礙,至少可以節省30%的開發時間。TeeChart for .NET中文版具有易上手,使用方便,穩定性好,性價比高,價格優惠等優勢,并且針對Web應用提供無限制服務器分發授權方式,非常有利于產品集成。
實時監控是以時間為基準的連續描述信息變化的一種監控方法,在各行各業都具有廣泛的應用,因此,以圖表形式實時記載信息變化曲線給TeeChart賦予了重要的任務。
TeeChart實時監控原理
Chart圖表是在一個固定區域中顯示指定信息,當需要實時監控時就保持當前時刻以前個時間段的信息,隨著時間的推移,這個時間段會發生新的變化,也就說在這個顯示區域總是顯示最新時間段的信息。那么,就需要在增加一個新時間點后,將原來顯示的信息平移出顯示區域一個時間點,不斷重復這個操作,就實現了實時的監控操作。
使用TeeChart的軸管理工具
TeeChart提供了5個有關軸管理的工具,其中Axis Scroll、Axis Arrows兩個工具與軸的滾動密切相關,而由Axis Scroll實現軸滾動更為方便。
Axis Scroll軸滾動工具
在TeeChart的圖表編輯器中,單擊Tools選項卡,單擊Add按鈕,顯示Chart Tools Gallery彈出窗口,如下圖1所示。
在下圖1的Axis選項卡中選擇 Axis Scroll工具,然后單擊Add按鈕,這時圖表編輯器的Tools選項卡變為如圖2所示的界面,坐標軸滾動工具Axis Scroll已處于激活狀態( Active=true),并在Axis列表框顯示Bottom Axis關聯,即該軸滾動工具與Bottom Axis關聯。也就是說可以對這個軸進行滾動操作。
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); begin case ComboBox1. ItemIndex of 0: Timer1.Interval:=1000; 1: Timer1.Interval:= 500; 2: Timer1.Interval:=100; end; end;
在定時器的OnTimer事件中加入下列代碼,根據分組框的功能選擇,確定定時器的工作方式以及序列數據的追加、屏幕滾動等屬性。
procedure TForm1.Timer1Timer(Sender:TObject); begin n:=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 for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在線訂購,現在搶購可立享優惠!
關注慧聚IT微信公眾號???,了解產品的最新動態及最新資訊。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: