作者:Asha Hill;翻譯:王雨桐;校對:蔣雨暢
本文約1900字,建議閱讀8分鐘。
本文將簡要盤點R中常用的9個視覺化包,並透過簡要介紹包的特點和相關案例來幫助讀者深入理解視覺化包。
如果最近瀏覽了R包的目錄,你會發現可用包的數量已經達到了12550個,足以讓人眼花繚亂。這意味著現有的包幾乎足以解決所有你能想象到的資料視覺化任務,從癌症基因組視覺化到圖書的視覺化分析。
對於R菜鳥或想提升R資料視覺化能力的人來說,CRAN目錄看起來是一種尷尬的富有——資料視覺化的包過多,不知從何入手。
為瞭解決這種問題,今天我們要盤點9個實用的跨學科R資料視覺化包。為了減少在本地執行R的麻煩,您可以使用 Mode的R Notebooks。
R Notebooks連結:
https://about.modeanalytics.com/notebooks/
譯者註:本文提及的包大多提供互動性操作,文中插圖僅供參考,建議訪問文中連結檢視案例,且連結中附有程式碼。
1. ggplot2
散點圖(Hadley Wickham/Tidyverse)
儘管在R中很容易完成基本繪圖,但如果需要自定義繪圖,事情就會變得複雜得多。這就是ggplot2誕生的原因:為了讓定製繪圖更容易。
正如其作者所言,“ggplot2解決了許多繁瑣的細節問題(比如繪製圖例),並提供了一個強大的圖形模型,這有助於輕鬆地生成複雜的多層圖形。”
ggplot2以《The Grammar of Graphics》這本書中的思想為基礎,將圖理解成組成完整繪圖的不同圖層。例如,在ggplot2中你可以從繪製坐標軸開始,然後加入點,線和置信區間等。
ggplot2的缺點是比R中的基礎畫圖要慢,並且初學者會發現上手很困難。但支持者為此辯解稱,學習ggplot2和(更普遍地說)用tidyverse處理資料,對任何使用R的資料科學家來說都有巨大的好處。(譯者註:tidyverse是為資料科學家所設計的,集合了資料處理和R的視覺化包)
作者:Hadley Wickham
詳細連結:https://ggplot2.tidyverse.org/
2. Lattice
擬合模型(Deepayan Sarkar)
當你需要對多變數資料進行視覺化分析時,Lattice是最佳選擇。Lattice是由Trellis graphics衍生的一個繪圖系統。他能幫你生成繪圖的平鋪面板,以用來比較給定變數的不同值或子集。(如上圖所示,這些平面圖常常看起來像花園的柵欄。)
Lattice是基於grid包搭建的,並繼承了grid包的大量特徵。由於grid隨後被列為基本的R包,所以R的老使用者對Lattice的邏輯不會感到陌生。
作者:Deepayan Sarkar
詳細連結:http://lattice.r-forge.r-project.org/
3. Highcharter
互動熱圖((Joshua Kunst)
Highcharter是R中Highcharts的改進,是一個JavaScript中的互動式視覺化庫。和它的前身一樣,Highcharter配備了非常強大的API。
Highcharter使動態圖表變得簡單。透過使用hchart()這樣一個函式,它可以繪製R中各種物件類的圖,從資料框到樹形圖再到譜系圖。它也為程式碼的編寫者提供了可行的方法以完成其他流行的Highcharts圖,如Highstock(繪製金融圖)和Highmaps(基於網路專案的原理圖)。
該包配有自定義的主題,以及內建的主題,如“經濟學家”、“金融時報”和“538”,便於使用者向專業人士借鑒圖表。
作者:Joshua Kunst
詳細連結:http://jkunst.com/highcharter/
4. Leaflet
GeoJSON map (RStudio)
類似於highcharter,R中的Leaflet包也是基於非常流行的同名JavaScript程式庫。
Leaflet提供了一種簡便且有效的方法來構建互動地圖。您可能已經從《紐約時報》、《華盛頓郵報》、GitHub以及類似Mapbox和CartoDB等GIS專業網站上看到過相關地圖(以JS形式)。
Leaflet的R介面是由htmlwidgets框架發展而來,這使得在R Markdown documents (v2), Rstudio和Shiny apps中很容易控制並整合Leaflet地圖。
作者:Joe Cheng, Bhaskar Karambelkar, Yihui Xie
詳細連結:https://rstudio.github.io/leaflet/
5. RColorBrewer
ROYGB Scatter (ModernData)
RColorBrewer很好地展示了R的一個優點:在各種圖表和地圖中調整顏色。
本包基於Cynthia Brewer關於在製圖中運用顏色的研究,它幫助你生成美觀的序列色、分色或定色調色盤。和Plotly搭配使用,可以得到更好的效果。
附案例連結:https://moderndata.plot.ly/create-colorful-graphs-in-r-with-rcolorbrewer-and-plotly/
作者:Erich Neuwirth
詳細連結:http://colorbrewer2.org /#type=sequential&scheme;=BuGn&n;=3
6. Plotly
線型圖(Plotly)
也許你知道Plotly是一個資料視覺化的線上平臺,但你是否知道可以在R或Python中應用它?
與highcharter類似,Plotly擅長繪製互動圖表,但它提供了一些其他包中沒有的圖表如:
等值線
https://plot.ly/r/contour-plots/
蠟燭圖
https://plot.ly/r/candlestick-charts/
3D圖
https://plot.ly/r/3d-charts/
作者:Erich Neuwirth
詳細連結:https://plot.ly/
7. sunburstR
旭日圖展示棒球資料(Kent Russell)
旭日圖適用於描述事件的序列,如體育資料和產品的使用者流。
運用旭日圖,你可以像Kerry Rodden一樣構造如圖所示的旭日圖。此類圖表是互動式的,可以幫助使用者透過強大的方式探索序列資料。
附案例連結:https://bl.ocks.org/kerryrodden /7090426
作者:Kent Russell, Kerry Rodden, Mike Bostock, Kevin Warne
詳細連結:https://www.rdocumentation.org /packages/sunburstR/versions/2.0.0
8. RGL
Iris資料的3D圖 (Duncan Murdoch)
想要在R中得到互動的3D圖時,可以使用RGL。它的邏輯是根據R中的基礎graphics建模的,但它是以三維形式呈現而不是二維。例如Lattice,它也受到grid包的啟發(儘管兩者在技術上並不相容)。所以對經驗豐富的R使用者來說,這非常容易上手。
RGL有很多炫酷的技能,包括可以選擇3D形狀、燈光效果、物體的各種質感,甚至可以運用動漫製作調整3D情景。
作者:Daniel Adler ,Duncan Murdoch
詳細連結:https://cran.r-project.org/web/packages /rgl/vignettes/rgl.html
9. Dygraphs
選定範圍的時間序列圖(RStudio)
此包為dygraphs提供了一個R介面。dygraphs是一個快速且靈活的JavaScript繪圖程式庫,用於探索時間序列資料集。dygraphs的強大之處在於,它具備很強的互動性,具有預設的滑鼠懸停標簽、縮放和平移等功能。他還有其他實用的互動特徵,例如同時段比較和時段選定。
但是dygraphs的互動性並不是以速度為代價:它可以處理有百萬資料點的大型資料集而不減慢它的效果。你也可以結合RColorBrewer和dygraphs來為時間序列選擇不同顏色的調色盤。
附案例:
https://rstudio.github.io/dygraphs/gallery-series-options.html
作者:Dan Vanderkam, RStudio
詳細連結:https://rstudio.github.io/dygraphs/
原文標題:
9 Useful R Data Visualization Packages for Any Discipline
原文連結:
https://blog.modeanalytics.com/r-data-visualization-packages/
譯者簡介:王雨桐,統計學在讀,資料科學碩士預備,跑步不停,彈琴不止。夢想把資料視覺化當作藝術,目前日常是摸著下巴看機器學習。
轉自:資料派THU 公眾號;
END
版權宣告:本號內容部分來自網際網路,轉載請註明原文連結和作者,如有侵權或出處有誤請和我們聯絡。
關聯閱讀:
原創系列文章:
資料運營 關聯文章閱讀:
資料分析、資料產品 關聯文章閱讀:
80%的運營註定了打雜?因為你沒有搭建出一套有效的使用者運營體系
合作請加qq:365242293
更多相關知識請回覆:“ 月光寶盒 ”;
資料分析(ID : ecshujufenxi )網際網路科技與資料圈自己的微信,也是WeMedia自媒體聯盟成員之一,WeMedia聯盟改寫5000萬人群。