全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1162
推到 Plurk!
推到 Facebook!

在Chart使用FastLineSeries呈現大量資料的方式

缺席
sunwingman
一般會員


發表:26
回覆:47
積分:14
註冊:2008-05-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-03-13 17:12:39 IP:140.96.xxx.xxx 訂閱
目前我的作法如下:


===================================================
Chart1->MaxPointsPerPage = 50; //限制每一次最多顯示50筆
Local_Count=0;
void __fastcall TForm1::WaitCharTimer(TObject *Sender)
{
Chart1->Page = Local_Count / Max_Point_Per_Page 1;
Series1->LinePen->Color = (TColor)RGB(255,0,0);
Series1->AddY( Data[Local_Count], Local_Count);
Local_Count ;
}
===================================================


這樣在Chart中就可以每次顯示50筆資料,然後Chart換一頁,
繼續顯示第51筆~100筆的資料,依此類推,
如此不會因為資料太多,所有線都擠在一起。

不過我目前是希望可以作成,當資料顯示1~50筆後,
變成顯示2~51筆,繼續3~52, 4~53....
就是可以很順暢的一直跑資料,而不是一下子就把前50筆資料蓋掉,直接顯示下一個50筆。

不知道各位前輩有類似的經驗嗎?



編輯記錄
sunwingman 重新編輯於 2012-03-13 03:13:42, 註解 無‧
sunwingman 重新編輯於 2012-03-13 03:14:02, 註解 無‧
sunwingman 重新編輯於 2012-03-13 03:14:35, 註解 無‧
sunwingman
一般會員


發表:26
回覆:47
積分:14
註冊:2008-05-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-03-17 18:12:19 IP:59.105.xxx.xxx 訂閱
各位前輩好,問題已經解決了,po出來跟大家分享:

=====================================
int point_per_page = 100;
FastLineSeries->BottomAxis->SetMinMax(0,point_per_page-1); //設定橫軸座標從0~99
int i=0;
int j=0;

void Timer()
{
FastLineSeries->(Date[i], i,clRed);
i ;

if(i >= 100)
{
FastLineSeries->BottomAxis->SetMinMax(1 j, point_per_page j); //重新設定橫軸座標從1~100,
j ; // 依此類推,就會再重新設定2~101, 3~102....
}

}

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

以上就可以解決我的問題了。
編輯記錄
sunwingman 重新編輯於 2012-03-17 04:13:13, 註解 無‧
sunwingman 重新編輯於 2012-03-17 04:13:43, 註解 無‧
系統時間:2017-12-12 8:29:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!