作為數據從業者,我來推薦一些資料視覺化好用的工具,這些工具包含:
1.一直以來都很火的動態條形動圖工具
2.各種python資料視覺化第三方庫
3.其他語言的資料視覺化框架
話不多說,先挨個來介紹。
一直以來都很火的動態條形動圖工具
最近因為疫情尤其火爆,但確實看起來很酷炫,在油管和社群傳播都很受歡迎,以下簡單介紹兩種用於做這種簡易動態條形圖的工具。
1.Flourish
Flourish是一個線上資料視覺化網站,可以迅速把表格數據轉換成各式各樣好看的圖表,並且它提供的Bar chart Race有一套完整的參數讓我們繪製出我們想要的動態圖。除此之外,它還可以用於繪製各種各樣的數據圖,繪製完成後直接嵌入網頁或者簡報內。
2.FineReport
FineReport是帆軟旗下的報表&資料視覺化工具,它可以將密密麻麻的數據迅速轉換為各種漂亮的視覺化圖表。像這種動態條形圖對於FineReport來說,很容易實現,而且不需要敲一堆程式碼。
就拿下面視訊所示的疫情動態條形圖來說,實現的主要思路就是在 SQL 查詢語句中設定時間參數過濾資料,時間參數的值會隨著時間而變化,然後定時重新整理圖表。
除此之外,FineReport這款圖表製作和資料視覺化軟體還能製作出更多美觀的圖表,豐富的動態圖表與交互效果,滿足多樣的資料視覺化展示需求。
連結:https://www.finereport.com/tw/
官方檔案:https://help.finereport.com/
各種python資料視覺化第三方庫
萬能語言python,專業資料分析師比較喜歡用,因為python能通過對資料的處理和加工,對視覺化圖表進行隨心所欲的設計和展示。而python主要得益于它豐富的視覺化庫,除了最常見的matplotlib之外,其實他還有vispy、bokeh、seaborn、pyga、folium、networkx等等。在python生態中,這些庫可以讓我們結合python語言繪製出漂亮的圖表。
1.Bokeh
Bokeh是一款基於Python的交互式資料視覺化工具,它支援現代化 Web 瀏覽器,提供非常完美的展示功能。Bokeh 的目標是使用 D3.js 樣式提供優雅,簡潔新穎的圖形化風格,同時提供大型資料集的高性能交互功能。Boken 可以快速的創建互動式的繪圖,儀錶盤和資料應用。
官網連結:https://bokeh.org/
GitHub連結:https://github.com/bokeh/bokeh
GItHub Star:11.9K
2.pyecharts
pyecharts 是一個用於生成 Echarts 圖表的類庫。Echarts 是百度開源的一個資料視覺化 JS 庫。用 Echarts 生成的圖視覺化效果非常好,pyecharts 是為了與 Python 進行對接,方便在 Python 中直接使用資料生成圖。
官方檔案連結:https://pyecharts.org/#/zh-cn/intro
GitHub連結:https://github.com/pyecharts/pyecharts
GItHub Star:7.2K
3.plotly
Plotly Express 是一個新的高級 Python 視覺化庫。它是 Plotly.py 的高級封裝,它為複雜的圖表提供了一個簡單的語法。受 Seaborn 和 ggplot2 的啟發,它專門設計為具有簡潔,一致且易於學習的 API 。只需一次導入,您就可以在一個函式呼叫中創建豐富的互動式繪圖,包括分面繪圖(faceting)、地圖、動畫和趨勢線。 它帶有資料集、顏色面板和主題,就像 Plotly.py 一樣。
Plotly Express 完全免費:憑藉其寬鬆的開源 MIT 許可證,您可以隨意使用它(是的,甚至在商業產品中!)。 最重要的是,Plotly Express 與 Plotly 生態系統的其他部分完全相容:在您的 Dash 應用程式中使用它,使用 Orca 將您的資料匯出為幾乎任何檔案格式,或使用JupyterLab 圖表編輯器在 GUI 中編輯它們!
官方檔案連結:https://plotly.com/python/
GitHub連結:https://github.com/plotly/plotly.py
GItHub Star:5.6K
4.Vispy
Vispy 是一個高性能的互動式 2D/3D 的資料視覺化庫。利用圖形處理器 GPU 通過 OpenGL 庫來顯示非常大的資料集,包括:
- 支援數百萬點陣的高品質互動式科學圖表
- 即時的資料視覺化展示
- 3D 模型的快速交互視覺化
- OpenGL 視覺化演示
- 快速可伸縮的視覺化部件
官方檔案連結:http://vispy.org/documentation.html
GitHub連結:https://github.com/vispy/vispy
GItHub Star:2.1K
5.HoloViews
HoloViews是一個開源的python庫,致力於讓數據分析和視覺化更加簡單。它可以讓我們用很少的程式碼實現想要展示的圖形,把專注力集中在數據探索上,而不是繪圖的過程上。
官方檔案連結:https://holoviews.org/
GitHub連結:https://github.com/holoviz/holoviews
GItHub Star:1.4K
6.Altair
Altair是Python的一個公認的統計視覺化庫。它的API簡單、友好、一致,並建立在強大的vega — lite(互動式圖形語法)之上。Altair API不包含實際的視覺化呈現程式碼,而是按照vega — lite規範發出JSON資料結構。由此產生的資料可以在使用者介面中呈現,這種優雅的簡單性產生了漂亮且有效的視覺化效果,且只需很少的程式碼。
資料來源是一個DataFrame,它由不同資料類型的欄組成。DataFrame是一種整潔的格式,其中的行與樣本相對應,而列與觀察到的變數相對應。資料通過資料轉換映射到使用組的視覺屬性(位置、顏色、大小、形狀、面板等)。通過Altair,可以將更多的時間花在理解資料及其含義上。Altair的API非常簡單和友好,它基於Vega-Lite視覺化語法構建,這使得可以使用少量的代碼構造出優雅高效的視覺化結果。
官方檔案連結:https://altair-viz.github.io/
GitHub連結:https://github.com/altair-viz/altair
GItHub Star:4.2K
7.seaborn
Seaborn是基於matplotlib的圖形視覺化python包。它提供了一種高度互動式介面,便於使用者能夠做出各種有吸引力的統計圖表。
Seaborn是在matplotlib的基礎上進行了更高級的API封裝,從而使得作圖更加容易,在大多數情況下使用seaborn能做出很具有吸引力的圖,而使用matplotlib就能製作具有更多特色的圖。應該把Seaborn視為matplotlib的補充,而不是替代物。同時它能高度相容numpy與pandas資料結構以及scipy與statsmodels等統計模式。
8.ggplot和plotnine
對於R遷移過來的人來說,ggplot和plotnine簡直是福音,基本克隆了ggplot2所有語法。ggplot是基於R的ggplot2和Python的繪圖系統。它的構建是為了用最少的代碼快速繪製專業又美觀的圖表。
ggplot與python中的pandas有著共生關係。如果打算使用ggplot,最好將資料保存在DataFrames中。即若想使用ggplot,先將資料轉化為dataframe形式。
橫向比較的話,plotnine的效果更好。這兩個繪圖包的底層依舊是matplotlib,因此,在引用時別忘了使用%matplotlib inline語句。值得一說的是plotnine也移植了ggplot2中良好的配置語法和邏輯。
資料視覺化工具
1.Echarts
Echarts是一個開源免費的javascript資料視覺化庫,它可以讓我們輕鬆客製化專業的商業數據圖表。常應用於軟體產品開發或網頁的統計圖表模塊。可在Web端高度定製視覺化圖表,圖表種類多,動態視覺化效,各類圖表各類形式都完全開源免費。能處理大數據量和3D繪圖也不遜色,據說結合baidu地圖的使用很出色。
2.inforgram
inforgram的傳播面應該是很廣了,主要得益於他本身帶有的豐富範本,基本上你能想到的圖表都能在inforgram裡找到,而且inforgram還支援圖表動畫,做出的效果非常高大上。
3.FineReport
上文提到finereport是一個實現互動式圖表的工具,但它也算是一個BI報表工具,主要就是面對企業的,除了報表應用之外,其實它在戰情室的領域也是很夯對的,通過佈局、色彩、綁定資料等環節完成dashboard的製作,擁有很多開發者都參與的視覺化外掛程式庫。兩大核心功能是填報和資料展示,但我覺得比較驚艷的一點是,它內置了大量的圖表和視覺化動效,視覺化很豐富,完全沒有印象中做報表那種古板的風格。多以它能做出格式各樣的dashboard、甚至是視覺化數據儀錶板!
FineReport對於個人使用來說完全免費,成功激活後免費獲取100+視覺化範本!
>>>
分享結束,如果有更好的工具推薦,歡迎一起交流討論~