作者:Asha Hill;翻譯:張玲;校對:梁傅淇
本文約2900字,建議閱讀10分鐘。
本文將為大家簡要介紹12個ggplot2拓展程式,包括它們讓R視覺化更強大的原因以及相應的具體示例。
自2007年推出以來,ggplot2已經成為世界上下載最頻繁、應用最廣泛的R包之一。包括它的創造者Hadley Wickham在內,許多人將這一成就歸功於ggplot2背後的理念。這個包的靈感來自Leland Wilkinson關於資料視覺化的開創性文章《圖形語法》(The Grammar of Graphics),這篇文章將圖形分解成刻度和層次等語意元件,並將資料從表示中分離出來。
如果你是世界上眾多ggplot2愛好者之一,你可能有時會發現自己正在尋找出色的軟體包來拓展其功能。幸運的是,在過去的10年裡,R社群一直致力於構建ggplot2的拓展包。今天我們推薦了12個我們最喜歡的ggplot2拓展程式,以幫助你為你的ggplot2賦予更多的能量,增加更多的光彩——或者只是為了更方便地建立圖表。
請繼續閱讀我們的文章。我們的文章包括大量的R Notebook,能夠讓你從瀏覽器裡充分瞭解這些包。
1. gganimate
動態演示人均GDP隨時間的變化
資料源自從GAPMPEDER資料(David Robinson)
喜歡你的gglot 視覺化,但希望它有更多的運動部件?gganimate可以幫助你解決這個問題。像ggplot2處理x,y,顏色等一樣,這個包將“幀”(即動畫中的時間點)作為一個美學單元處理,從而使得ggplot2的視覺化“活”起來。結果是一個從相同圖的不同幀中構建出來的動畫。
正如你在上面的例子中所看到的,gganimate畫出的圖的坐標軸範圍和圖例不變,只有點在移動,這樣觀察者的註意力可以集中在資料如何隨時間變化上。這也意味著,和動畫擴充套件包(你建立多個圖,並將它們組合起來)不同的是,gganimate只需要構建圖一次,包括坐標軸和圖例。
gganimate還允許你將動畫儲存成檔案,如GIF,影片或動態網頁,以便在RStudio和NoteBook之外使用。
建立者:David Robinson
瞭解更多:gganimate
2. gganimate
美國各州逮捕的聚類分析(Andrie de Vries)
如果你想控制聚類分析的外觀和展示,那就從ggdendro開始吧!雖然R確實有聚類功能,但它只允許你直接繪製樹形圖,並不能分離出或顯露基礎資料。ggplot2的理念是致力於將資料從表示中分離出來,以便更好地控制資料的顯示方式。
ggdendro提供了一個解決方案。它有幾個提取樹形圖資料的有用函式,所以你可以儲存或者運算元據本身。旋轉樹形圖,移除網格背景(如上例所示),反轉刻度,繪製三角形線段,建立DIANA和AGNES聚類圖,等等。將它和dendextend 、ape兩個包結合起來,就可以完全地控制你的樹形圖。
建立者:Andrie de Vries,可以在Mode上找到。
瞭解更多:ggdendro
可以在Mode上(https://modeanalytics.com/signin)試試ggdendro。
3. gganimate
Motor Trend汽車資料集,“Highcharts”主題(Asha Hill)
如果你想讓你的分析看上去可信,請看看ggthemes。這個多功能的庫包含的主題和刻度讓你可以直接複製資料視覺化巨頭的報告的外觀。這些巨頭包括愛德華·塔夫特(Edward Tufte)、Fivethirtyeight、經濟學家、華爾街日報、Highcharts JS等。
甚至還包含了一些諷刺性的內容,例如Excel 2013主題,可以讓你複製“經典醜陋的外觀和感覺”(附註:“請永遠都不要使用”)。
建立者:Jeffrey B. Arnold,可以在Mode上找到。
學到更多:ggthemes
4. gganimate
具有比較p值的箱線圖(Alboukadel Kassambara)
ggplot2是靈活而強大的,但是對於那些沒有強大的R技能的人來說並非總是那麼友好。由於許多研究出版物需要R圖表,平常不使用R的研究人員經常需要根據需求生成高度定製的R圖表。這就是ggpubr存在的原因:使用ggpot2(即使你還不知道如何使用ggplot2)可以很容易地生成為出版物定製的圖表。
ggpubr 實際上是一個包裝器,它可以使用更直觀的語法幫助剛入門R的人生成複雜的圖。該包允許你向圖表新增p值和顯著性水平,併在同一頁中排列或註釋多個圖。它還可以輕鬆更改顏色和標簽等格式元素。
建立者:Alboukadel Kassambara
瞭解更多:ggpubr
5. gganimate
Motor Trend汽車資料的網格拼圖(Thomas Pedersen)
如何在同一個NoteBook中排列多個R圖?為了處理多變數資料,你可以使用Lattice等包。但是當你需要處理一些有關聯的圖時,patchwork是個更好的選擇。
這個名稱恰到好處的包提供了容易使用的數學運運算元,用於在單個空間中組合和排列多個圖。為了將圖放在其他圖的旁邊,只需要使用+運運算元即可。為了將圖放在其他圖的頂部,只需要將/用於垂直佈局上。所有patchwork的運運算元都可以組合成一個高度可讀的佈局語法。
建立者:Thomas Pedersen
瞭解更多:patchwork
6. gganimate
鳶尾花資料集的山脊線圖,顏色顯示尾部分佈機率(Claus O. Wilke)
山脊線圖是部分重疊的線圖,它的名字源於它與山脈存在相似之處。(Heyo Joy Division.)它們特別適用於視覺化分佈隨時間、空間或其他連續變數的變化。
由於山脊線圖相對較新,ggplot2沒有建立它們的原始方式。ggridges 是為了填補這一空缺而建立的。該庫提供計算和繪製密度估計、沿x軸改變填充顏色以及計算和視覺化不同分佈統計資料(如新增分位數資訊)的方法。你還可以繪製原始資料點,有“雨雲”到“地毯式”多種選擇可供生成分佈。
建立者:Claus O.Wilke,可以在Mode上找到。
瞭解更多:ggridges
7. gganimate
ggmap做出的休斯敦犯罪密度圖(David Kahle)
ggmap是一個功能強大的包,用於視覺化空間資料和模型。他將資料置於從主流線上地圖(如谷歌地圖、OpenStreetMap和Stamen Maps)匯出的靜態地圖之上。
ggmap 的優點在於,它使得ggplot2上的geoms可用於地圖視覺化。這意味著你可以在地圖上建立等高線圖或散點圖,或者在多個地圖上建立分層資料。你可以在許多不同風格的谷歌地圖或者Stamen 地圖上建立ggplot視覺化圖,從衛星圖和路線圖都可以——為你處理空間資料提供了最大的靈活性。
建立者:David Kahle
學到更多:ggmap
8. gganimate
比較geom_text()和geom_text_repel()處理後的標簽(Kamil Slowikowski)
ggrepel只有一個非常有用的目的:讓ggplot2使用者更好地控製圖表中文字標簽的位置。正如每個R程式設計人員所知道的那樣,ggplot2處理文字標簽的預設方式有時不太理想。(看看上面左邊的圖表)
ggrepel透過為ggplot提供文字和標簽的位置資訊來解決這個問題,這將有助於避免各種難看的標簽。你可以將便簽設定為簡單地與其他標簽、資料點或者圖的邊界隔離開。或者,你可以選擇性地隱藏標簽,將它們限定在圖的某一區域中,或者調整它們以和邊界對齊。願(隔離的)力量與你同在。
建立者:Kamil Slowikowski
瞭解更多:ggrepel
9. gganimate
Motor Trend汽車資料集的圓形相關矩陣(Alboukadel Kassambara)
對於想要繪製相關矩陣的ggplot愛好者,ggcorrplot提供了一組優雅的選項。ggcorrplot的靈感來自corrplot包,但是被構建為需要和ggplot一起使用。這意味著,它有很多出色的功能讓你控制矩陣的外觀,從改變盒子的顏色、形狀或大小(如上面的圓點矩陣)到新增繫數標簽,根據層次聚類重新排序矩陣等。
建立者:Alboukadel Kassambara,可以在Mode上找到。
瞭解更多:ggcorrplot
10. gganimate
Motor Trend汽車資料集的雷達圖(Ricardo Bion)
雷達圖提供了一種視覺化多變數資料、發現樣式的有用方法,以便於比較。ggradar旨在讓你使用圖形語法來建立這些圖表,也被稱作“蜘蛛網圖”或“起始圖”。
這個軟體包基於Paul Williamson的程式碼,巧妙解決了這類圖的特殊繪製問題:將環形網格線還有點、雷達坐標之間的直線結合起來。這應該是你雷達上的一個包。(抱歉,我不後悔。)
建立者:Ricardo Bion
學到更多:ggradar
11. gganimate
美國航班樣式,使用ggally將網路置於地圖上(Amos Elberg)
ggally是ggplot的一個擴充套件程式,它彙集了一系列有用的額外的視覺化功能。你可以使用ggally快速地在地圖上畫出模型的繫數或者網路,如上面的視覺化圖所示。或許你需要重新排列你的資料來構建字形圖?你也可以用它。
建立者:Barret Schloerke,可以在Mode上找到。
瞭解更多:ggally
12. gganimate
使用ggiraph和patchwork繪製Motor Trend汽車資料集具有懸停效果的互動圖(David Gohel)
如果你想要為你的ggplot增加高階的互動或動畫,ggiraph就是你的夥伴。使用這個html部件,你可以擴充套件現有的ggplot2 條形圖,散點圖,箱型圖,地圖等等,以及執行諸如在懸停時顯示你選擇的提示,例如資料值和標簽,或者增加懸停動畫,如上面的圖表所示。
當使用者點選你圖表中的某一元素時,你也可以利用ggiraph來執行特定的操作,比如開啟一個新頁面。只需要為動作指定一個JavaScript函式,ggiraph就可以完成其餘的操作。
建立者:David Gohel
瞭解更多:ggiraph
原文標題:
12 Extensions to ggplot2 for More Powerful R Visualizations
原文連結:
https://blog.modeanalytics.com/r-ggplot-extension-packages/
譯者簡介:張玲,在崗資料分析師,計算機碩士畢業。從事資料工作,需要重塑自我的勇氣,也需要終生學習的毅力。但我依舊熱愛它的嚴謹,痴迷它的藝術。資料海洋一望無境,資料工作充滿挑戰。感謝資料派THU提供如此專業的平臺,希望在這裡能和最專業的你們共同進步!
版權宣告:本號內容部分來自網際網路,轉載請註明原文連結和作者,如有侵權或出處有誤請和我們聯絡。
關聯閱讀
原創系列文章:
資料運營 關聯文章閱讀:
資料分析、資料產品 關聯文章閱讀:
80%的運營註定了打雜?因為你沒有搭建出一套有效的使用者運營體系
合作請加qq:365242293
更多相關知識請回覆:“ 月光寶盒 ”;
資料分析(ID : ecshujufenxi )網際網路科技與資料圈自己的微信,也是WeMedia自媒體聯盟成員之一,WeMedia聯盟改寫5000萬人群。