數(shù)據(jù)可視化,我習慣于用這些工具
本文主要涵蓋數(shù)據(jù)可視化工具主要包括4類:Excel圖表、Python繪圖庫、Tableau以及網(wǎng)頁在線工具等。
01 Excel
網(wǎng)傳數(shù)據(jù)分析師必備基礎套餐是ESP,即Excel+SQL+Python,這種說法不見得完全正確,但也確有一定道理,其中Excel更是幾乎每名數(shù)據(jù)分析師乃至每名職場人士必備的辦公工具。個人也習慣于應用Excel,更具體說主要是應用Excel的三類功能:圖表制作、內(nèi)置函數(shù)以及數(shù)據(jù)透視表。一般而言,當數(shù)據(jù)量較小(100以內(nèi))時,個人非常傾向于用Excel完成圖表插入,不僅簡潔方便,而且內(nèi)置的多種樣式、豐富的設置選項以及所見即所得的制圖體驗,都無疑是小數(shù)據(jù)量作圖的首選。
Excel內(nèi)置了豐富的圖表類型
Excel支持的圖表類型也極為豐富,除了常規(guī)的條形圖、折線圖、餅圖和散點圖之外,像雷達圖、旭日圖、箱線圖等視覺效果更好的圖表也是支持的。同時更是支持了豐富的設置效果,而且都是極為簡便易懂的,幾乎不需要教程即可摸索掌握。
02 Python可視化庫
作為一名數(shù)據(jù)分析師,Python幾乎是必須掌握的;而在Python數(shù)據(jù)分析相關的眾多第三方包中,可視化庫又非常強大。在這其中,個人尤為常用的有5個相關庫:
- matplotlib,該庫與numpy和pandas號稱Python數(shù)分三劍客,也是當初配合numpy和scipy替代Matlab的重要一環(huán),幾乎是Python數(shù)據(jù)分析過程中必須熟練掌握的繪圖庫。不過需要承認的是,matplotlib功能強大,但其實相對更加偏向底層,提供了大量的參數(shù)和接口來設置圖表各種細節(jié),對于初學者來說并不那么友好。但實話說,在徹底掌握其核心思想之后,其實還是比較符合正常思維的。這里,附個人總結的matplotlib完整入門教程:python數(shù)據(jù)科學系列:matplotlib入門詳細教程
- seaborn,既然matplotlib過于偏向底層,繪圖也較為繁瑣,那有沒有簡單易上手的繪圖庫呢?seaborn其實算得上一個,不過也并不算是matplotlib的升級或替代品,而只能算是有力補充。相較而言,seaborn基于matplotlib,提供了更為豐富的樣式,具有更加簡潔的API接口,一兩句代碼就能完成非常強大的圖表繪制。附seaborn入門教程:python數(shù)據(jù)科學系列:seaborn入門詳細教程
- pyecharts,相較于matplotlib和seaborn這種更像是python官方繪圖庫,pyecharts屬于純粹的第三方繪圖庫,即pyecharts=python+echarts,即百度echarts與python的結合體,某種程度上也再次印證了python膠水語言的特性。更重要的是,pyecharts支持動態(tài)圖表繪制,支持交互式圖表,除了Web展示,還可通過一定操作移植到PPT中,這也為數(shù)據(jù)分析師做匯報添彩不少。pyecharts目前經(jīng)歷了兩個大的版本,尤其是在0.5升級到1.x以后,幾乎完全變了繪圖接口,但整體來說是變得更加簡潔易懂。附pyecharts繪圖簡潔教程:pyecharts極簡入門教程
- pandas,與matplotlib同享數(shù)分三劍客的美譽,而且更有瑞士軍刀名號的pandas,實際上也是一個非常便捷的繪圖庫。更準確地說,這是一個面向dataframe對象的繪圖接口,通過調(diào)用plot()接口或者plot屬性,從而可以完成主流matplotlib中圖表的繪制,且?guī)缀趵^承了matplotlib中相應圖表的所有參數(shù)設置,包括設置多子圖繪制等,簡直不能更絲滑。近期,隨著版本的升級,pandas繪圖后端更是可以指定其他繪圖底層接口,使用起來極為方便。想象一下:你在操作著dataframe的各種處理和轉(zhuǎn)換,突然想看看當前處理的數(shù)據(jù)什么樣,那么就一言不合就來個圖表。簡單的pandas繪圖方法可查看pandas教程中的最后一部分。
- geopandas,geopandas是一個繼承自pandas的地理信息數(shù)據(jù)處理庫,其核心數(shù)據(jù)接口geodataframe本質(zhì)上就是在pandas的dataframe數(shù)據(jù)結構上增加一列geometry,體現(xiàn)空間信息。除了繼承了pandas的各種數(shù)據(jù)處理接口外,geopandas還增強了畫圖功能,在一個具有geometry列信息的geodataframe中,直接調(diào)用.plot()接口,即可快速查看當前地理信息情況。下圖是混用matplotlib和geopandas.plot()的直接繪圖結果,僅需額外設置用于標識數(shù)值大小的一列,即可繪制五顏六色的炫麗圖片。(當前選用顏色風格為rainbow,可明顯看出顏色從深到淺依次為紅橙黃綠青藍紫)
03 Tableau
曾經(jīng),為了豐富個人可視化技能、拓寬數(shù)據(jù)分析工具,也專門花了一段時間學習tableau的運用,這可能也是商業(yè)數(shù)據(jù)分析師的必備技能之一,不過個人目前也僅僅是偶爾用它畫個圖而已。tableau本身功能還是極其強大的,支持多種數(shù)據(jù)源讀取、內(nèi)置了類SQL的字段處理功能、提供了豐富的圖表庫,工作表->儀表板->故事,三者層層遞進,對于大屏展示和快速完成數(shù)據(jù)分析可視化報表異常高效,尤為擅長周期性動態(tài)監(jiān)管的數(shù)據(jù)指標類儀表板。靈活的數(shù)據(jù)加載、強大的數(shù)據(jù)轉(zhuǎn)換、簡單的字段拖拽即可出圖,這些都保證了快速生成報表的可能性。附個人常用的tableau制圖技巧:
- Tableau可視化之多變折線圖
- Tableau可視化之多變條形圖
- Tableau可視化之多變地圖
- Tableau可視化之多變餅圖
- Tableau可視化之其他常用圖表
04 網(wǎng)頁在線工具
隨著信息技術的不斷成熟,其實很多數(shù)據(jù)可視化工作也逐漸搬移到線上輕量級完成,一些網(wǎng)頁在線工具專門用于執(zhí)行數(shù)據(jù)可視化,通過簡單的灌入數(shù)據(jù),一張張樣式豐富的圖表便很快呈現(xiàn),而且大多都是零門檻易實現(xiàn)。這里僅列舉兩個:
- 百度Echarts,這真算的上是百度的一個良心工具了,內(nèi)置了大量的圖表模板,僅需選定樣式->更改數(shù)據(jù)即可輕松實現(xiàn),而且支持交互。前面介紹的pyecharts其實就是百度Echarts的Python語言版
- 詞云在線網(wǎng)站。其實詞云在線網(wǎng)站還是比較多的,這里不具體給出,可參考歷史文章生成詞云的幾種方式查看。值得指出的是,本公眾號的logo其實就是基于其中的一個網(wǎng)站生成的……
05 小結
數(shù)據(jù)可視化對于一名數(shù)據(jù)分析師而言確實很重要,好的可視化效果甚至稱得上是安身立命裝X加薪之本。然而,雖然可視化圖表選擇眾多,但其實也不能過于追求標新立異,例如?;鶊D、瀑布圖、南丁格爾圖等,特定場景下用用可能效果感人,但絕大多數(shù)情況下,Simple is better than complex,折線圖、條形圖、餅圖、散點圖這四大基本圖表類型仍然是樸實無華的首選。