Teechart圖表應(yīng)用技術(shù)詳解—第五章之使用極值控制實(shí)現(xiàn)實(shí)時(shí)監(jiān)控
Steema公司和慧都科技針對(duì)中國(guó)市場(chǎng)聯(lián)合推出中文版TeeChart for .NET圖表控件,一共漢化2000個(gè)詞條(17000個(gè)單詞),漢化文檔35000個(gè)單詞,包括控件設(shè)計(jì)時(shí)與運(yùn)行時(shí)的界面漢化以及控件使用向?qū)臋n的漢化,總漢化90%以上!
TeeChart for .NET中文版讓您在使用和學(xué)習(xí)上沒(méi)有任何語(yǔ)言障礙,至少可以節(jié)省30%的開(kāi)發(fā)時(shí)間。TeeChart for .NET中文版具有易上手,使用方便,穩(wěn)定性好,性價(jià)比高,價(jià)格優(yōu)惠等優(yōu)勢(shì),并且針對(duì)Web應(yīng)用提供無(wú)限制服務(wù)器分發(fā)授權(quán)方式,非常有利于產(chǎn)品集成。
點(diǎn)擊下載TeeChart for .NET最新試用版
TChart的坐標(biāo)軸提供了Automatic、Maximum和Minimu幾個(gè)屬性可以設(shè)定自動(dòng)計(jì)算方式以及獲得或設(shè)定某坐標(biāo)軸的最大值和最小值。如果能夠動(dòng)態(tài)地改變?cè)趫D表窗口中X軸顯示的范圍,則隨著時(shí)間的推移和最大值最小值的改變,圖表窗口顯示的數(shù)據(jù)便呈現(xiàn)滾動(dòng)狀態(tài)。
代碼設(shè)計(jì)
首先,在程序運(yùn)行的初始狀態(tài),對(duì)圖表的X軸設(shè)定如下:
Chart1.BottomAxis.Automatic:=False; Chart1.BottomAxis.Maximum:=100;//設(shè)定最大值 Chart1.BottomAxis.Minimum:=0;
這段代碼說(shuō)明,圖表的X軸最多可以顯示100個(gè)點(diǎn)。那么,可以在產(chǎn)生數(shù)據(jù)的地方,實(shí)時(shí)修改X軸的最小值和最大值,始終保持圖表窗口只能顯示100個(gè)點(diǎn),代碼如下:
Inc(Number); Series1.Add(random(100)); if Number >100 then begin Chart1.BottomAxis Maximum:=Number; Chart1.BottomAxis Minimum:=Number-100; end;
這樣,就保證窗口中的點(diǎn)數(shù)是固定的,那么,極值的變化也就產(chǎn)生了滾動(dòng)的效果
應(yīng)用舉例
建立一個(gè)新工程,并按下表設(shè)置組件屬性,設(shè)計(jì)階段的界面如下圖所示。窗體中增加的SpinEdit1組件可以隨時(shí)改變顯示窗口內(nèi)的數(shù)據(jù)點(diǎn)數(shù),或者說(shuō)數(shù)據(jù)點(diǎn)的稀疏狀態(tài)。
使用極值控制實(shí)現(xiàn)實(shí)時(shí)監(jiān)控舉例組件屬性設(shè)置
組件名 | 屬性 | 設(shè)置 | 說(shuō)明 |
TChart | Name | Chart1 | 圖表組件 |
TLineSeries | Name | Series1 | 圖表中的序列 |
TSpinEdit | Name | SpinEdit1 | 用于設(shè)定顯示窗口的范圍 |
Value | 100 | 初始設(shè)定值 | |
TTimer | Name | Timer1 | 定時(shí)器 |
Interval | 1000 | ||
Checked | False |
事件代碼。在窗體OnCreate事件中對(duì)X軸進(jìn)行初始設(shè)定,加入下列代碼:
procedure TForm1. FormCreate(Sender:TObject); begin Chart1.BottomAxis.Automatic:=False; Chart1.BottomAxis.Maximum:=SpinEdit1.Value;//X軸設(shè)定值可隨時(shí)改變 Chart1.BottomAxis.Minimum:=0; Chart1.LeftAxis.Automatic:=False;//Y軸最大值范圍設(shè)定 Chart1.LeftAxis.Maximum:=100.0;
然后,在模擬實(shí)時(shí)狀態(tài)的定時(shí)器的On Timer事件中加入下列代碼:
procedure TForm1.Timer1Timer(Sender:TObject); begin Inc(Number); Series1.Add (random(100)); if Number>SpinEdit1.Value then begin Chart1.BottomAxis.Maximum:=Number; Chart1.BottomAxis.Minimum:=Number- SpinEdit1.Value; end; end;
運(yùn)行示例。該工程運(yùn)行后的界面如下圖所示:
相關(guān)資料推薦:
上一章:TeeChart實(shí)時(shí)監(jiān)控原理和軸管理工具
下一章:TeeChart的地圖顯示原理和代碼設(shè)計(jì)思路
=====================================
現(xiàn)TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在線訂購(gòu),現(xiàn)在搶購(gòu)可立享優(yōu)惠!
關(guān)注慧聚IT微信公眾號(hào)???,了解產(chǎn)品的最新動(dòng)態(tài)及最新資訊。