Content deleted Content added
Citation bot (talk | contribs) Alter: title. Removed parameters. | Use this bot. Report bugs. | #UCB_CommandLine |
Citation bot (talk | contribs) Add: s2cid, date. | Use this bot. Report bugs. | Suggested by Spinixster | Category:Cross-platform free software | #UCB_Category 58/433 |
||
Line 40:
| caption2 = Base graphics
}}
'''ggplot2''' is an [[open-source]] [[data visualization]] [[R package|package]] for the [[Computational statistics|statistical programming]] language [[R (programming language)|R]]. Created by [[Hadley Wickham]] in 2005, ggplot2 is an implementation of [[Leland Wilkinson]]'s ''Grammar of Graphics''—a general scheme for data visualization which breaks up graphs into semantic components such as scales and layers. ggplot2 can serve as a replacement for the base graphics in R and contains a number of defaults for web and print display of common scales. Since 2005, ggplot2 has grown in use to become one of the most popular R packages.<ref>{{cite journal|last=Wickham|first=Hadley|title=ggplot2: Elegant Graphics for Data Analysis|journal=Journal of Statistical Software|date=July 2010|volume=35|issue=1|url=http://www.jstatsoft.org/v35/b01/paper}}</ref><ref>{{cite journal|last=Wilkinson|first=Leland|author-link=Leland Wilkinson|title=ggplot2: Elegant Graphics for Data Analysis by WICKHAM, H|journal=Biometrics|date=June 2011|volume=67|issue=2|pages=678–679|doi=10.1111/j.1541-0420.2011.01616.x}}</ref><ref>{{cite web|url=https://cran.r-project.org/web/packages/ggplot2/index.html|title=CRAN - Package ggplot2|date=12 October 2023 }}</ref>
== Updates ==
Line 47:
On 25 February 2014, Hadley Wickham formally announced that "ggplot2 is shifting to maintenance mode. This means that we are no longer adding new features, but we will continue to fix major bugs, and consider new features submitted as pull requests. In recognition [of] this significant milestone, the next version of ggplot2 will be 1.0.0".<ref>{{cite web |last=Wickham|first=Hadley|title=ggplot2 development|url= https://groups.google.com/d/msg/ggplot2/SSxt8B8QLfo/J2dfKR92rsYJ|publisher=ggplot2 Google Group|access-date=26 February 2014}}</ref>
On 21 December 2015, ggplot 2.0.0 was released. In the announcement, it was stated that "ggplot2 now has an official extension mechanism. This means that others can now easily create their [own] stats, geoms and positions, and provide them in other packages."<ref>{{cite web |url=https://blog.rstudio.com/2015/12/21/ggplot2-2-0-0/ |access-date=2021-06-21 |title=ggplot 2.0.0 |date=21 December 2015 |archive-url=https://web.archive.org/web/20210207054047/https://blog.rstudio.com/2015/12/21/ggplot2-2-0-0/ |archive-date=2021-02-07 |url-status=live}}</ref>
==Comparison with base graphics and other packages==
In contrast to base R graphics, ggplot2 allows the user to add, remove or alter components in a plot at a high level of abstraction.<ref>{{cite web|last=Smith|first=David|title=Create beautiful statistical graphics with ggplot2|url=http://blog.revolutionanalytics.com/2009/01/create-beautiful-statistical-graphics-with-ggplot2.html|work=Revolutions|publisher=[[Revolution Analytics]]|access-date=11 July 2011}}</ref> This abstraction comes at a cost, with ggplot2 being slower than lattice graphics.<ref>{{cite web|url=http://learnr.wordpress.com/2009/08/26/ggplot2-version-of-figures-in-lattice-multivariate-data-visualization-with-r-final-part/|title=ggplot2 Version of Figures in "Lattice: Multivariate Data Visualization with R" (Final Part)|date=25 August 2009 }}</ref>
Creating a different plot for various subsets of the data requires for loops and manual management in base R graphics, whereas ggplot2 simplifies that process with a collection of "facet" functions to choose from.<ref>{{cite web |last1=Yau |first1=Nathan |title=Comparing ggplot2 and R Base Graphics |url=https://flowingdata.com/2016/03/22/comparing-ggplot2-and-r-base-graphics/ |website=FlowingData |access-date=17 April 2022 |language=en |date=22 March 2016}}</ref>
One potential limitation of base R graphics is the "pen-and-paper model" utilized to populate the plotting device.<ref>{{cite book|last=Wickham|first=Hadley|title=ggplot2: Elegant Graphics for Data Analysis |year=2009 |publisher=Springer |isbn=978-0-387-98140-6|pages=5}}</ref> Graphical output from the interpreter is added directly to the plotting device or window rather than separately for each distinct element of a plot.<ref>{{cite journal |last=Murrell |first=Paul |title=R Graphics|journal=Wiley Interdisciplinary Reviews: Computational Statistics|date=August 2009|volume=1|issue=2|pages=216–220|doi=10.1002/wics.22|s2cid=37743308 }}</ref> In this respect it is similar to the lattice package, though Wickham argues ggplot2 inherits a more formal model of graphics from Wilkinson.<ref>{{cite book|last=Sarkar|first=Deepayan|title=Lattice: multivariate data visualization with R|year=2008|publisher=Springer|isbn=978-0-387-75968-5|pages=xi}}</ref> As such, it allows for a high degree of modularity; the same underlying data can be transformed by many different scales or layers.<ref>{{cite book|last=Teetor|first=Paul|title=R Cookbook|year=2011|publisher=O'Reilly|isbn=978-0-596-80915-7|pages=223}}</ref><ref>{{cite journal|last=Wickham|first=Hadley|date=March 2010|title=A Layered Grammar of Graphics|url=http://vita.had.co.nz/papers/layered-grammar.pdf|journal=Journal of Computational and Graphical Statistics|volume=19|issue=1|pages=3–28|doi=10.1198/jcgs.2009.07098|s2cid=58971746}}</ref>
Plots may be created via the convenience function <code>qplot()</code> where arguments and defaults are meant to be similar to base R's <code>plot()</code> function.<ref>{{cite book|title=R: A language and environment for statistical computing|year=2011|publisher=R Foundation for Statistical Computing|___location=Vienna, Austria|isbn=978-3-900051-07-5|url=http://www.R-project.org/|author=R Development Core Team}}</ref><ref>{{cite journal|last=Ginestet|first=Cedric|title=ggplot2: Elegant Graphics for Data Analysis |journal=Journal of the Royal Statistical Society, Series A |date=January 2011 |volume=174 |issue=1 |pages=245–246 |doi=10.1111/j.1467-985X.2010.00676_9.x}}</ref> More complex plotting capacity is available via <code>ggplot()</code> which exposes the user to more explicit elements of the grammar.<ref>{{cite book|last1=Muenchen|first1=Robert A.|last2=Hilbe|first2=Joseph M |title=R for Stata Users |publisher=Springer |isbn=978-1-4419-1317-3 |doi=10.1007/978-1-4419-1318-0_16 |chapter=Graphics with ggplot2|series=Statistics and Computing|year=2010|pages=385–452}}</ref>
|