WPF實現大數據分析結果展示(轉)


link: https://www.cnblogs.com/luoyuhao/p/12127588.html

開頭語

        經過一段時間研究,終於實現CS和BS相同效果的大數據展示平台了。首先來看看實現的效果,超炫的效果,客戶特別喜歡,個人也非常滿意,分享給各位,同大家一起交流學習。

大數據展示平台

從上圖可以看出,分為左中右三欄,左右主要是展示圖標為主,中間部分展示地圖,這種展示主要使用於物流行業,亮點是中間的地圖,物流覆蓋的地方和線路在地圖中顯示的淋漓盡致,效果非常炫,用WPF去現實的,圖片進行切片,研究了四個晚上做了這效果。

按快捷鍵Ctrl+F1可以對數據庫進行設置

按快捷鍵Ctrl+F2可以對系統標題,企業願景和公司最新動態,公司公告和地圖的顏色和線路進行設置,這樣就適用於大多數客戶。

這樣即可完全自定義了,適應於多個客戶,由於我公司是很多客戶的,所以必須進行公版話,進行自定義設置,這里就適用於很多了客戶了。

實現代碼

數據獲取代碼就不再展示了,下面分享下部分代碼,首先是地圖部分,由Canvas去畫線就好了,這樣就生成了地圖。

  View Code

 

 

 

地圖上的從一點到另一個點進行畫線代碼如下:

  View Code

 

左右兩邊用到的圖標是用Visifire.Charts.dll去實現的,網上也有非常多的例子,其實CS的圖表沒有BS實現出來的那么美觀,對圖表的也研究了很久,未發現比較好用的圖表控件,你有好的圖表控件推薦嗎?

例如折線圖:

  View Code

 

 

柱狀圖:

  View Code

 

 同時還適用了定時刷新數據,頻率為分鍾,晚上8:00到早上7:00不刷新數據,這樣減少服務器壓力。

private DispatcherTimer RefreshDataTimer = null;

 RefreshDataTimer = new DispatcherTimer();
 RefreshDataTimer.Tick += new EventHandler(OnDataEvent);
 RefreshDataTimer.Interval = new TimeSpan(0, 5, 0);//5分鍾一刷新
 RefreshDataTimer.Start();
復制代碼
  //獲取當前系統時間並判斷是否為服務時間
            TimeSpan nowDt = DateTime.Now.TimeOfDay;

            TimeSpan workStartDT = DateTime.Parse("20:00").TimeOfDay;
            TimeSpan workEndDT = DateTime.Parse("08:00").TimeOfDay;
            if (nowDt > workStartDT && nowDt < workEndDT)
            {
                getdata();
            }
復制代碼

以上說明了大概的實現思路。

 結束語

       現在大數據分析在我們日常開發軟件中經常遇到,一旦有了這個經常會給軟件打上高大上的標簽,客戶很青睞,報價多個一兩萬輕而易舉的事情,后續還需繼續完善,在市場上會越來越多的大屏展示數據有我們這樣的軟件出現。

 

 

程序文件:https://files.cnblogs.com/files/luoyuhao/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%B9%B3%E5%8F%B0.rar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM