ggplot2統計程式語言英語Computational statisticsR的一個數據視覺化繪圖包。ggplot2由哈德利·威克漢姆在2005年創造。它具現了利蘭·威爾金森英語Leland Wilkinson所著《圖示的語法 — 一個數據視覺化通用框架》(Grammar of Graphics — a general scheme for data visualization)中將圖形分解為語素(如尺度、圖層)的思想。ggplot2可以作為R語言基礎繪圖包的替代,同時ggplot2預設有多種印刷及網頁尺寸。自2005年以來,ggplot2已經發展成為最受歡迎的R包之一。[3][4]

ggplot2
原作者哈德利·威克漢姆, Winston Chang
目前版本
  • 3.5.1(2024年4月23日;穩定版本)[1]
編輯維基數據連結
原始碼庫 編輯維基數據連結
程式語言R
許可協定GPLv2[2]
網站ggplot2.tidyverse.org

ggplot2
ggplot2
Base graphics
基本繪圖包
使用基本繪圖包與 ggplot2 預設參數繪製的簡單散點圖

更新

ggplot2在2012年3月2日發佈了0.9.0版本。本次更新提供了內部組織、尺度構建和圖層等方面的眾多更新。[5]

2014年2月25日,Hadley Wickham正式宣佈「ggplot2正轉至維護模式。意味着ggplot2不會再添加新的功能,不過我們會繼續修復重要故障,並考慮增加由推播請求新提交的特性。為紀念這顯著的里程碑,ggplot2的下一個版本將會是1.0.0」。[5]

ggplot2在2015年12月21日發佈了2.0.0版本。在版本公告中宣佈了「ggplot2現在擁有官方擴充機制。這表示其他人現在可以輕鬆創造他們的統計方式、幾何圖形和位置方案,並在其他包中提供」。[6]

同其他繪圖包的比較

較R基礎繪圖包而言,ggplot2允許用戶在更抽象的層面上增加、刪除或轉換圖表中的元素。[7] 這種抽象化的代價是執行速度。ggplot2 較 lattice 繪圖包而言更耗時。[8]

R基礎繪圖包使用「紙筆模型」佔據繪圖裝置產生了一個潛在的限制:直譯器產生的不同圖表元素的圖形輸出直接添加到繪圖裝置上,而不是分別添加。 [9][10]在這個層面上,它同lattice包是相似的。相對的,Wickham聲稱ggplot2繼承了更多威爾金森的圖形規範化模型[11]正如此,ggplot2允許繪圖更加的模組化:相同的內部數據可以轉化為很多不同的尺寸及圖層。[12][13]

qplot()函數的變數及預設同基礎繪圖函數plot() 較為相似,可以方便地繪製基礎圖表。[14][15] ggplot()函數將語法元素直接暴露給用戶,可以繪製更加複雜的圖表[16]

相關專案

  • ggplot for Python[17]
  • Plotly - 線上互動 ggplot2 繪圖站[18]
  • gramm,一個由 ggplot2 提供靈感的 Matlab 繪圖工具[19]

參考文獻

  1. ^ Release 3.5.1. 2024年4月23日 [2024年5月23日]. 
  2. ^ Wickham, Hadley; Chang, Winston; RStudio. ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics. 2016-12-30 [2017-10-20]. (原始內容存檔於2021-01-18) –透過R-Packages. 
  3. ^ Wickham, Hadley. ggplot2: Elegant Graphics for Data Analysis. Journal of Statistical Software. July 2010, 35 (1) [2017-10-20]. (原始內容存檔於2015-02-01). 
  4. ^ Wilkinson, Leland. ggplot2: Elegant Graphics for Data Analysis by WICKHAM, H. Biometrics. June 2011, 67 (2): 678–679. doi:10.1111/j.1541-0420.2011.01616.x. 
  5. ^ 5.0 5.1 ggplot2 Development Team. Changes and Additions to ggplot2-0.9.0 (PDF). [2017-10-20]. (原始內容 (PDF)存檔於2015-01-26). 
  6. ^ ggplot 2.0.0 | RStudio Blog. blog.rstudio.org. [2017-10-21]. (原始內容存檔於2017-04-27) (美國英語). 
  7. ^ Smith, David. Create beautiful statistical graphics with ggplot2. Revolutions. Revolution Analytics英語Revolution Analytics. [2011-07-11]. (原始內容存檔於2011-09-13). 
  8. ^ ggplot2 Version of Figures in “Lattice: Multivariate Data Visualization with R” (Final Part). 2009-08-25 [2017-10-20]. (原始內容存檔於2020-11-23). 
  9. ^ Wickham, Hadley. ggplot2: Elegant Graphics for Data Analysis. Springer. 2009: 5. ISBN 978-0-387-98140-6. 
  10. ^ Murrell, Paul. R Graphics. Wiley Interdisciplinary Reviews: Computational Statistics. August 2009, 1 (2): 216–220. doi:10.1002/wics.22. 
  11. ^ Sarkar, Deepayan. Lattice: multivariate data visualization with R. Springer. 2008: xi. ISBN 978-0-387-75968-5. 
  12. ^ Teetor, Paul. R Cookbook. O'Reilly. 2011: 223. ISBN 978-0-596-80915-7. 
  13. ^ Wickham, Hadley. A Layered Grammar of Graphics. Journal of Computational and Graphical Statistics. March 2010, 19 (1): 3–28. doi:10.1198/jcgs.2009.07098. 
  14. ^ R Development Core Team. R: A language and environment for statistical computing. Vienna, Austria: R Foundation for Statistical Computing. 2011 [2020-09-25]. ISBN 3-900051-07-0. (原始內容存檔於2011-03-05). 
  15. ^ Ginestet, Cedric. ggplot2: Elegant Graphics for Data Analysis. Journal of the Royal Statistical Society, Series A. January 2011, 174 (1): 245–246. doi:10.1111/j.1467-985X.2010.00676_9.x. 
  16. ^ Muenchen, Robert A.; Hilbe, Joseph M. Graphics with ggplot2. R for STATA Users. Springer. ISBN 978-1-4419-1317-3. doi:10.1007/978-1-4419-1318-0_16. 
  17. ^ ggplot for Python. yhat. [2014-10-12]. (原始內容存檔於2016-02-10). 
  18. ^ Interactive, online ggplot2 graphs. plotly. [2014-10-12]. (原始內容存檔於2019-04-14). 
  19. ^ ggplot for Matlab. gramm. [2015-12-11]. (原始內容存檔於2020-11-11). 

延伸閱讀

外部連結