Content deleted Content added
Citation bot (talk | contribs) Alter: isbn. Add: pages, year, series, s2cid. Formatted dashes. Upgrade ISBN10 to ISBN13. | You can use this bot yourself. Report bugs here. | Suggested by Neko-chan | Category:Cross-platform free software | via #UCB_Category 305/378 |
Redirect 'Related Projects' to 'The Grammar of Graphics Related Projects' |
||
(47 intermediate revisions by 24 users not shown) | |||
Line 1:
{{Short description|Data visualization package for R}}
{{Infobox software
| name = ggplot2
| title = ggplot2
| logo = Ggplot2 hex logo.svg
| logo caption =
| screenshot = <!-- [[File: ]] -->
Line 9 ⟶ 11:
| author = [[Hadley Wickham]], Winston Chang
| developer =
| released = {{Start date and age|df=yes|2007|06|10}}
| discontinued =
| latest release version = {{wikidata|property|reference|P348}}
| latest release date = {{start date and age|df=yes|{{wikidata|qualifier|P348|P577}}}}
| latest preview version =
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
Line 23 ⟶ 25:
| language footnote =
| genre =
| license = [[
| alexa =
| website = {{URL|https://ggplot2.tidyverse.org/}}
Line 31 ⟶ 33:
| direction = vertical
| footer = ggplot2 and base graphics defaults for a simple scatterplot image
| image1 =
| alt1 = ggplot2
| caption1 = ggplot2
Line 38 ⟶ 40:
| caption2 = Base graphics
}}
'''ggplot2''' is
== Updates ==
On 2 March 2012, ggplot2 version 0.9.0 was released with numerous changes to internal organization, scale construction and layers.<ref>{{cite web|author=ggplot2 Development Team|title=Changes and Additions to ggplot2-0.9.0|url=https://cloud.github.com/downloads/hadley/ggplot2/guide-col.pdf|access-date=31 October 2017|archive-date=26 January 2015|archive-url=https://web.archive.org/web/20150126062502/https://cloud.github.com/downloads/hadley/ggplot2/guide-col.pdf|url-status=dead}}</ref>
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,
On 5 July 2018, ggplot2 3.0.0 was released (initially planned as a ggplot2 2.3.0). This now provides support for tidy evaluation allowing quasiquotation in ggplot2 functions.<ref>{{Cite web |title=ggplot2 3.0.0 |url=https://www.tidyverse.org/blog/2018/07/ggplot2-3-0-0/ |access-date=2025-07-13 |website=www.tidyverse.org |language=en-us}}</ref><ref>{{Cite book |last=Wickham |first=Hadley |url=https://adv-r.hadley.nz/quasiquotation.html |title=19 Quasiquotation {{!}} Advanced R |language=en}}</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 separate plots for various subsets of data in base R requires loops and manual management, 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}}</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>▼
▲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.|title=R for STATA Users|last2=Hilbe|first2=Joseph M |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>▼
▲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.
== Impact ==
After ten years of being developed, ggplot2 has continued to make an impact on the data visualization community: it has had over 10 million downloads, up to 400,000 downloads in a given month, and is used by data scientists from the US government to journalists at ''[[The New York Times]]'' to analyze and present data.<ref name=":0">{{Cite web |last=Kopf |first=Dan |date=2017-06-18 |title=All hail ggplot2—The code powering all those excellent charts is 10 years old |url=https://qz.com/1007328/all-hail-ggplot2-the-code-powering-all-those-excellent-charts-is-10-years-old |access-date=2025-05-13 |website=Quartz |language=en}}</ref> Wickham posits the success of ggplot2 comes from the increased popularity of the R language and the relative ease of making aesthetically appealing graphics. Along with more serious uses of ggplot2, Wickham also supports the more unusual use cases, like exploring factors for winning in the reality TV show [[RuPaul's Drag Race]].<ref name=":0" />
==Related projects==
See [[Wilkinson's Grammar of Graphics#Related projects|implementations of The Grammar of Graphics]].
== References ==
Line 66 ⟶ 71:
==Further reading==
* {{cite book|last=Wilkinson|first=Leland|author-link=Leland Wilkinson|title=The Grammar of Graphics|year=2005|publisher=Springer|isbn=978-0-387-98774-3}}
* {{cite video |people= Wickham, Hadley|date= 6
* {{cite book|last=Wickham|first=Hadley|title=ggplot2: Elegant Graphics for Data Analysis|url=https://ggplot2-book.org/|year=2016|publisher=[[Springer Science+Business Media]]|isbn=978-3319242750|edition=2nd}}
* {{cite book|last=Wickham|first=Hadley|title=R for Data Science|url=https://r4ds.had.co.nz/|year=2017|publisher=O'Reilly Media|isbn=978-1491910399}}
▲* {{cite video |people= Wickham, Hadley|date= 6 Jun 2011|title=Engineering Data Analysis (with R and ggplot2) |url=https://www.youtube.com/watch?v=TaxJwC_MP9Q |publisher= Google Tech Talks}}
== External links ==
Line 75 ⟶ 81:
{{R (programming language)}}
{{Statistical software}}
▲{{Use dmy dates |date = September 2011}}
[[Category:Cross-platform free software]]
[[Category:Free data and information visualization software]]
[[Category:Free plotting software]]
[[Category:Free R (programming language) software]]
[[Category:Free data analysis software]]
[[Category:Visualization API]]
[[Category:Software using the MIT license]]
|