題記
在對資料的趨勢描述方面莫過于将點存儲下來描線。即如任務管理器中CPU使用率一樣,一目了然就很直覺看出使用的趨勢。現在360管理軟體裡面有開始時間的變化趨勢。其他也有類似的趨勢劃線軟體功能的實作,很是直覺!
項目的需要,我們也需要類似的劃線趨勢統計子產品來統計比如時間随着計數增加的變化趨勢。
這裡,為了簡化而又包含所需功能。特進行子產品化測試。
步驟1):需要知道橫軸、縱軸各是多少。橫軸、縱軸之間的關系?
這裡為了簡化起見,特設定:橫軸為次數,可通過計時器,隔給定時間其計數+1;縱軸代表随機值。橫軸與縱軸的關系就是:1個橫軸次數對應一個縱軸點值。
步驟2):設計生成不重複随機數的函數,可将随機值存入給定大小的數組中。
步驟3):設定劃線區域,為了保證劃線能連在一起,需要重繪,即需要在OnPaint()裡面書寫函數。下圖GraphTest為我們設定的繪圖區域。
步驟4):直覺起見,為了保證畫圖的直覺性,特需要劃X、Y軸。此處就需要知道GraphTest客戶區域的坐标即左側(left,top),右側(right,bottom)。并注意預留一小部分的區域用于寫标尺值。
步驟5):标尺的設定。主要需要在剛才設定的長度下,設計橫軸、縱軸點的個數。比如我們需要如下:0,10,20,30,40,50共6個點,但6個點隻需要5個相等的段就能隔開。這點在程式設計時需要萬分小心。要不易導緻分段過大或過小,不易于描點。
步驟6):設計定時器,設定時間間隔,每隔開固定的時間間隔随機值變化,可通過以下的方式,驗證不重複随機值的正确性。(可先跑通10個點,以驗證程式的正确性)。為後續的描點、劃線作準備!

步驟7):描點劃線。此時需要考慮重繪。即需要知道橫軸次數、縱軸值大小。更重要的是為了保證描點的正确性,需要知道一個點所在橫軸或縱軸小比例尺的大小,注意邊界的情況。一個循環就可保證前一個點與後一個點以緻所有點連起來。再加上定時器的作用就能確定畫出如下圖的動态連線圖。
應用軟體:VC++6.0。
源碼下載下傳位址:
http://download.csdn.net/detail/wojiushiwo987/5200730作者:銘毅天下
原文:
https://blog.csdn.net/laoyang360/article/details/8738973版權聲明:本文為部落客原創文章,轉載請附上博文連結!