ggplot2

ggplot2 is a data visualization package for the statistical programming language R. Created by Hadley Wickham in 2005, ggplot2 is an implementation of Leland Wilkinson's Grammar of Graphicsa 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.[1][2] It is licensed under GNU GPL v2.[3]

ggplot2
Original author(s)Hadley Wickham, Winston Chang
Initial releaseJune 10, 2007 (2007-06-10)
Stable release
3.3.1 / May 28, 2020 (2020-05-28)
Repository
Written inR
LicenseGPLv2
Websiteggplot2.tidyverse.org

ggplot2
Base graphics
ggplot2 and base graphics defaults for a simple scatterplot image

Updates

On 2 March 2012, ggplot2 version 0.9.0 was released with numerous changes to internal organization, scale construction and layers.[4]

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".[5]

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."[6]

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.[7] This abstraction comes at a cost, with ggplot2 being slower than lattice graphics.[8]

One potential limitation of base R graphics is the "pen-and-paper model" utilized to populate the plotting device.[9] Graphical output from the interpreter is added directly to the plotting device or window rather than separately for each distinct element of a plot.[10] In this respect it is similar to the lattice package, though Wickham argues ggplot2 inherits a more formal model of graphics from Wilkinson.[11] As such, it allows for a high degree of modularity; the same underlying data can be transformed by many different scales or layers.[12][13]

Plots may be created via the convenience function qplot() where arguments and defaults are meant to be similar to base R's plot() function.[14][15] More complex plotting capacity is available via ggplot() which exposes the user to more explicit elements of the grammar.[16]

  • ggplot for Python[17]
  • Plotly - Interactive, online ggplot2 graphs[18]
  • gramm, a plotting class for MATLAB inspired by ggplot2[19]
  • gadfly, a system for plotting and visualization written in Julia, based largely on ggplot2[20]
  • Chart::GGPlot - ggplot2 port in Perl[21]
gollark: With current technology, you have absolutely no chance of making anything remotely close to a planet-destroying "laser" thing.
gollark: Not presently. It's too big to build.
gollark: How about a laser connected to a computer which only turns it on if you supply bitcoins to a specified address?
gollark: You are so weirdly inconsistent.
gollark: There was apparently a plan for a merch shop selling low-power lasers, but it doesn't exist yet.

References

  1. Wickham, Hadley (July 2010). "ggplot2: Elegant Graphics for Data Analysis". Journal of Statistical Software. 35 (1).
  2. Wilkinson, Leland (June 2011). "ggplot2: Elegant Graphics for Data Analysis by WICKHAM, H". Biometrics. 67 (2): 678–679. doi:10.1111/j.1541-0420.2011.01616.x.
  3. "CRAN - Package ggplot2".
  4. ggplot2 Development Team. "Changes and Additions to ggplot2-0.9.0" (PDF).
  5. Wickham, Hadley. "ggplot2 development". ggplot2 Google Group. Retrieved 26 February 2014.
  6. "ggplot 2.0.0".
  7. Smith, David. "Create beautiful statistical graphics with ggplot2". Revolutions. Revolution Analytics. Retrieved 11 July 2011.
  8. "ggplot2 Version of Figures in "Lattice: Multivariate Data Visualization with R" (Final Part)".
  9. Wickham, Hadley (2009). ggplot2: Elegant Graphics for Data Analysis. Springer. p. 5. ISBN 978-0-387-98140-6.
  10. Murrell, Paul (August 2009). "R Graphics". Wiley Interdisciplinary Reviews: Computational Statistics. 1 (2): 216–220. doi:10.1002/wics.22.
  11. Sarkar, Deepayan (2008). Lattice: multivariate data visualization with R. Springer. pp. xi. ISBN 978-0-387-75968-5.
  12. Teetor, Paul (2011). R Cookbook. O'Reilly. p. 223. ISBN 978-0-596-80915-7.
  13. Wickham, Hadley (March 2010). "A Layered Grammar of Graphics". Journal of Computational and Graphical Statistics. 19 (1): 3–28. doi:10.1198/jcgs.2009.07098.
  14. R Development Core Team (2011). R: A language and environment for statistical computing. Vienna, Austria: R Foundation for Statistical Computing. ISBN 3-900051-07-0.
  15. Ginestet, Cedric (January 2011). "ggplot2: Elegant Graphics for Data Analysis". Journal of the Royal Statistical Society, Series A. 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. doi:10.1007/978-1-4419-1318-0_16. ISBN 978-1-4419-1317-3.
  17. "ggplot for Python". yhat. Retrieved 12 October 2014.
  18. "Interactive, online ggplot2 graphs". plotly. Retrieved 12 October 2014.
  19. "ggplot for Matlab". gramm. Retrieved 11 December 2015.
  20. "Gadfly.jl". Retrieved 11 September 2018.
  21. "Stephan Loyd/Chart-GGPlot-0.0001". Retrieved 30 March 2019.

Further reading

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.