基於Python的交互式可視化工具 [轉]


前幾天發現一個可視化工具Dash,當看到它的交互式效果后突然就覺得眼前一亮。早就想寫出來分享給大家,今天利用睡前一點時間發出來,希望能給有需要的朋友帶來一點幫助或者多一個參考。

 

 

Dash介紹

在Python語言環境里,有不少可視化解決方案,以前的公眾號文章曾經介紹過幾個。這些工具很適合利用靜態數據來展示圖形效果,如果要在數據基礎之上增加交互功能,就需要額外增加不少代碼。要么實現起來比較復雜,要么很難實現實時交互。

 

有了Dash以后,這個問題就好解決了。

 

Dash是利用Flask、plotly.js和React.js構建起來的自定義可視化開源框架。

 

大概在2017年6月,Dash被正式發布為開源庫,用於構建交互式可視化網頁。類似echarts和highcharts,基本上都是基於js來實現圖形效果。但是!Dash是基於Python運行,這就可以跟pandas和Numpy,甚至人工智能的包無縫對接。

 

有人又要說了,D3、echarts和highcharts在Flask下也可以結合使用啊。是的,但是Dash為你做了很多整合的工作,代碼量要少很多,甚至你不要懂太多的HTML標簽就可以做交互式報表。

 

Dash安裝

支持Python2和3

pip install dash==0.18.3
pip install dash-renderer==0.10.0
pip install dash-html-components==0.7.0
pip install dash-core-components==0.12.6
pip install plotly --upgrade

安裝成功之后,我們先來運行一個簡單的示例。這里拿13日收盤后漲幅排名前50只股票的PE做一個柱狀圖的展示。

運行效果如下:

交互式效果

由於時間關系,暫且只從官網找一些交互式效果展示給大家。

1、通過pandas DataFrame數據展示Slide效果

2、動態地圖效果

3、交互式數據表格

 

4、動態3D效果

 

Dash組件

Dash封裝了常見常用的HTML組件,類似上面動態交互的輸入框、下拉菜單,按鈕等。

 

我們看幾個最簡單的,有興趣的朋友可以自己嘗試。

 

1、輸入框

2、復選框

3、按鈕

4、數據上傳組件

5、選項卡功能

總結

使用下來總體感覺比較簡單,很方便快捷的構建起了交互式報表的效果。組件化的方式和實現方式比較傳統,很適合我們這種老程序員上手:) 

 

對於新入行的技術人員來說,這個工具無疑也是一個非常好的上手交互式可視化的利器。在大數據可視化需求多樣化、花樣化的當下,在眾多可視化工具可供選擇的當下,一款最適合自己、最適合當前項目的才是最優選擇。

 

以上介紹,希望對你有用。

 

 

 

 

 


免責聲明!

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



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