1 / 33

ggplot2

ggplot2. A cool way for creating plots in R. Maria Novosolov. Your scientific graphic options. Why not only Excel?. Excel is relatively limited in its support of scientific graphing It’s options provide limited control over the output Limited selection of graph types

thane
Download Presentation

ggplot2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ggplot2 A cool way for creating plots in R Maria Novosolov

  2. Your scientific graphic options

  3. Why not only Excel? • Excel is relatively limited in its support of scientific graphing • It’s options provide limited control over the output • Limited selection of graph types • Limited number of data points that can be plotted

  4. Why ggplot2? • Helps creating good looking graphs for publishing • The package format allows manipulation on every step of the way • Create new graphics tailored for your problem • Easy to create complex plots

  5. The idea behind ggplot2 Combining all the good and leaving out all the bad of all R packages for plotting

  6. Some examples

  7. Attention!! It doesn’t suggest what graphics you should use to answer the questions you are interested in

  8. The basics of ggplot2 • Works as a layer by layer system • Based on the Grammar of Graphics (Wilkinson, 2005) • The plots can be edited after they are ready

  9. How it works Two options of working with the package • Easy – using qplot() (=quick plot) • Complicated – using ggplot

  10. qplot • Basically very similar to the function plot()in R • The first two arguments to qplot() are x and y • An optional data argument (recommended) • Exp: qplot(x, y, data = mydata)

  11. qplot • You can change color, size, shape and transparency (all of this is called aesthetics) • This can either be set to the default aesthetics or manually using the function I(). • You can decide on the type of the plot (scatterplot, box-plot, histogram) by using “geom” function.

  12. ggplot

  13. ggplot • Works by creating the plot layer by layer • A layer is composed of four parts: • data and aesthetic mapping • a statistical transformation (stat) • a geometric object (geom) • and a position adjustment.

  14. Layers • Iteratively update a plot • Change a single feature at a time • Think about the high level aspects of the plot in isolation • Instead of choosing a static type of plot, create new types of plots on the fly • Cure against immobility • Developers can easily develop new layers without affecting other layers

  15. Lets dive into the syntax

  16. Anatomy of a plot • Data* • Aesthetic mapping * • Geometric Object * • Statistical transformation • Scales • Facets • Themes • Position adjustments * Mandatory layers

  17. 1. Data In ggplot2, we always explicitly specify the data qplot(displ, hwy, data = mpg)

  18. 2. Aesthetic Mapping In ggplot land aesthetic means "something you can see“ Includes: • Position (i.e., on the x and y axes) • Color ("outside" color) • Fill ("inside" color) • Shape (of points) • Line type • Size Aesthetic mappings are set with the aes() function

  19. 3. Geometric Object • A geom can only display certain aesthetics • A plot must have at least one geom; there is no upper limit

  20. Example ggplot(data=mpg, aes(x=cty, y=hwy)) + geom_point() The data.frame to plot Aesthetic Mappings What geom to use in plotting

  21. 4. Statistical Transformations • Each geom has a default statistic, but these can be changed • Some plot types (such as scatterplots) do not require transformations–each point is plotted at x and y coordinates equal to the original value • Other plots, such as boxplots, histograms, prediction lines etc. require statistical transformations

  22. 5. Scales • Control mapping from data to aesthetic attributes • One scale per aesthetic

  23. 5. Scales In ggplot2 scales include: • position • color and fill • size • shape • line type Modified with scale_<aesthetic>_<type>

  24. 5. Scales Common Scale Arguments: • name: the first argument gives the axis or legend title • limits: the minimum and maximum of the scale • breaks: the points along the scale where labels should appear • labels: the labels that appear at each break

  25. 5. Scales Partial combination matrix of available scales

  26. 6. Faceting • Lay out multiple plots on a page • Split data into subsets • Plot subsets into different panels

  27. 7. Themes • The ggplot2 theme system handles non-data plot elements such as • Axis labels • Plot background • Facet label background • Legend appearance • Specific theme elements can be overridden using theme()

  28. 8. Position adjustments • Tweak positioning of geometric objects • Avoid overlaps

  29. Exp: position_jitter • Avoid overplotting by jittering points ggplot(overplotted, aes(x,y)) + geom_point(position=position_jitter (w=0.1, h=0.1))

  30. Summary • Allows creating high quality plots • Many options • Many blogs and webpages explaining how to do different plots in ggplot • Disadvantage – takes time to learn the grammar • There is a book: ggplot2: Elegant Graphics for Data Analysis

  31. Useful links • http://ggplot2.org • http://wiki.stdout.org/rcookbook/Graphs/ • http://www.ceb-institute.org/bbs/wp-content/uploads/2011/09/handout_ggplot2.pdf • http://yeroon.net/ggplot2/

More Related