O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

R Graphics Cookbook, 2nd Edition

Book Description

This O’Reilly cookbook provides more than 150 recipes to help scientists, engineers, programmers, and data analysts generate high-quality graphs quickly—without having to comb through all the details of R’s graphing systems. Each recipe tackles a specific problem with a solution you can apply to your own project and includes a discussion of how and why the recipe works.

Most of the recipes in this second edition use the updated version of the ggplot2 package, a powerful and flexible way to make graphs in R. You’ll also find expanded content about the visual design of graphics. If you have at least a basic understanding of the R language, you’re ready to get started with this easy-to-use reference.

  • Use R’s default graphics for quick exploration of data
  • Create a variety of bar graphs, line graphs, and scatter plots
  • Summarize data distributions with histograms, density curves, box plots, and more
  • Provide annotations to help viewers interpret data
  • Control the overall appearance of graphics
  • Explore options for using colors in plots
  • Create network graphs, heat maps, and 3D scatter plots
  • Get your data into shape using packages from the tidyverse

Table of Contents

  1. Preface
    1. Recipes
    2. Software and Platform Notes
    3. Conventions Used in This Book
    4. O’Reilly Safari
    5. How to Contact Us
    6. Acknowledgments
  2. R Basics
    1. 1.1. Installing a Package
    2. 1.2. Loading a Package
    3. 1.3. Upgrading Packages
    4. 1.4. Loading a Delimited Text Data File
    5. 1.5. Loading Data from an Excel File
    6. 1.6. Loading Data from SPSS/SAS/Stata Files
    7. 1.7. Chaining Functions Together with %>%, the Pipe Operator
  3. Quickly Exploring Data
    1. 2.1. Creating a Scatter Plot
    2. 2.2. Creating a Line Graph
    3. 2.3. Creating a Bar Graph
    4. 2.4. Creating a Histogram
    5. 2.5. Creating a Box Plot
    6. 2.6. Plotting a Function Curve
  4. Bar Graphs
    1. 3.1. Making a Basic Bar Graph
    2. 3.2. Grouping Bars Together
    3. 3.3. Making a Bar Graph of Counts
    4. 3.4. Using Colors in a Bar Graph
    5. 3.5. Coloring Negative and Positive Bars Differently
    6. 3.6. Adjusting Bar Width and Spacing
    7. 3.7. Making a Stacked Bar Graph
    8. 3.8. Making a Proportional Stacked Bar Graph
    9. 3.9. Adding Labels to a Bar Graph
    10. 3.10. Making a Cleveland Dot Plot
  5. Line Graphs
    1. 4.1. Making a Basic Line Graph
    2. 4.2. Adding Points to a Line Graph
    3. 4.3. Making a Line Graph with Multiple Lines
    4. 4.4. Changing the Appearance of Lines
    5. 4.5. Changing the Appearance of Points
    6. 4.6. Making a Graph with a Shaded Area
    7. 4.7. Making a Stacked Area Graph
    8. 4.8. Making a Proportional Stacked Area Graph
    9. 4.9. Adding a Confidence Region
  6. Scatter Plots
    1. 5.1. Making a Basic Scatter Plot
    2. 5.2. Grouping Points Together Using Shapes or Colors
    3. 5.3. Using Different Point Shapes
    4. 5.4. Mapping a Continuous Variable to Color or Size
    5. 5.5. Dealing with Overplotting
    6. 5.6. Adding Fitted Regression Model Lines
    7. 5.7. Adding Fitted Lines from an Existing Model
    8. 5.8. Adding Fitted Lines from Multiple Existing Models
    9. 5.9. Adding Annotations with Model Coefficients
    10. 5.10. Adding Marginal Rugs to a Scatter Plot
    11. 5.11. Labeling Points in a Scatter Plot
    12. 5.12. Creating a Balloon Plot
    13. 5.13. Making a Scatter Plot Matrix
  7. Summarized Data Distributions
    1. 6.1. Making a Basic Histogram
    2. 6.2. Making Multiple Histograms from Grouped Data
    3. 6.3. Making a Density Curve
    4. 6.4. Making Multiple Density Curves from Grouped Data
    5. 6.5. Making a Frequency Polygon
    6. 6.6. Making a Basic Box Plot
    7. 6.7. Adding Notches to a Box Plot
    8. 6.8. Adding Means to a Box Plot
    9. 6.9. Making a Violin Plot
    10. 6.10. Making a Dot Plot
    11. 6.11. Making Multiple Dot Plots for Grouped Data
    12. 6.12. Making a Density Plot of Two-Dimensional Data
  8. Annotations
    1. 7.1. Adding Text Annotations
    2. 7.2. Using Mathematical Expressions in Annotations
    3. 7.3. Adding Lines
    4. 7.4. Adding Line Segments and Arrows
    5. 7.5. Adding a Shaded Rectangle
    6. 7.6. Highlighting an Item
    7. 7.7. Adding Error Bars
    8. 7.8. Adding Annotations to Individual Facets
  9. Axes
    1. 8.1. Swapping X- and Y-Axes
    2. 8.2. Setting the Range of a Continuous Axis
    3. 8.3. Reversing a Continuous Axis
    4. 8.4. Changing the Order of Items on a Categorical Axis
    5. 8.5. Setting the Scaling Ratio of the X- and Y-Axes
    6. 8.6. Setting the Positions of Tick Marks
    7. 8.7. Removing Tick Marks and Labels
    8. 8.8. Changing the Text of Tick Labels
    9. 8.9. Changing the Appearance of Tick Labels
    10. 8.10. Changing the Text of Axis Labels
    11. 8.11. Removing Axis Labels
    12. 8.12. Changing the Appearance of Axis Labels
    13. 8.13. Showing Lines Along the Axes
    14. 8.14. Using a Logarithmic Axis
    15. 8.15. Adding Ticks for a Logarithmic Axis
    16. 8.16. Making a Circular Plot
    17. 8.17. Using Dates on an Axis
    18. 8.18. Using Relative Times on an Axis
  10. Controlling the Overall Appearance of Graphs
    1. 9.1. Setting the Title of a Graph
    2. 9.2. Changing the Appearance of Text
    3. 9.3. Using Themes
    4. 9.4. Changing the Appearance of Theme Elements
    5. 9.5. Creating Your Own Themes
    6. 9.6. Hiding Grid Lines
  11. Legends
    1. 10.1. Removing the Legend
    2. 10.2. Changing the Position of a Legend
    3. 10.3. Changing the Order of Items in a Legend
    4. 10.4. Reversing the Order of Items in a Legend
    5. 10.5. Changing a Legend Title
    6. 10.6. Changing the Appearance of a Legend Title
    7. 10.7. Removing a Legend Title
    8. 10.8. Changing the Labels in a Legend
    9. 10.9. Changing the Appearance of Legend Labels
    10. 10.10. Using Labels with Multiple Lines of Text
  12. Facets
    1. 11.1. Splitting Data into Subplots with Facets
    2. 11.2. Using Facets with Different Axes
    3. 11.3. Changing the Text of Facet Labels
    4. 11.4. Changing the Appearance of Facet Labels and Headers
  13. Using Colors in Plots
    1. 12.1. Setting the Colors of Objects
    2. 12.2. Representing Variables with Colors
    3. 12.3. Using a Colorblind-Friendly Palette
    4. 12.4. Using a Different Palette for a Discrete Variable
    5. 12.5. Using a Manually Defined Palette for a Discrete Variable
    6. 12.6. Using a Manually Defined Palette for a Continuous Variable
    7. 12.7. Coloring a Shaded Region Based on Value
  14. Miscellaneous Graphs
    1. 13.1. Making a Correlation Matrix
    2. 13.2. Plotting a Function
    3. 13.3. Shading a Subregion Under a Function Curve
    4. 13.4. Creating a Network Graph
    5. 13.5. Using Text Labels in a Network Graph
    6. 13.6. Creating a Heat Map
    7. 13.7. Creating a Three-Dimensional Scatter Plot
    8. 13.8. Adding a Prediction Surface to a Three-Dimensional Plot
    9. 13.9. Saving a Three-Dimensional Plot
    10. 13.10. Animating a Three-Dimensional Plot
    11. 13.11. Creating a Dendrogram
    12. 13.12. Creating a Vector Field
    13. 13.13. Creating a QQ Plot
    14. 13.14. Creating a Graph of an Empirical Cumulative Distribution Function
    15. 13.15. Creating a Mosaic Plot
    16. 13.16. Creating a Pie Chart
    17. 13.17. Creating a Map
    18. 13.18. Creating a Choropleth Map
    19. 13.19. Making a Map with a Clean Background
    20. 13.20. Creating a Map from a Shapefile
  15. Output for Presentation
    1. 14.1. Outputting to PDF Vector Files
    2. 14.2. Outputting to SVG Vector Files
    3. 14.3. Outputting to WMF Vector Files
    4. 14.4. Editing a Vector Output File
    5. 14.5. Outputting to Bitmap (PNG/TIFF) Files
    6. 14.6. Using Fonts in PDF Files
    7. 14.7. Using Fonts in Windows Bitmap or Screen Output
    8. 14.8. Combining Several Plots into the Same Graphic
  16. Getting Your Data into Shape
    1. 15.1. Creating a Data Frame
    2. 15.2. Getting Information About a Data Structure
    3. 15.3. Adding a Column to a Data Frame
    4. 15.4. Deleting a Column from a Data Frame
    5. 15.5. Renaming Columns in a Data Frame
    6. 15.6. Reordering Columns in a Data Frame
    7. 15.7. Getting a Subset of a Data Frame
    8. 15.8. Changing the Order of Factor Levels
    9. 15.9. Changing the Order of Factor Levels Based on Data Values
    10. 15.10. Changing the Names of Factor Levels
    11. 15.11. Removing Unused Levels from a Factor
    12. 15.12. Changing the Names of Items in a Character Vector
    13. 15.13. Recoding a Categorical Variable to Another Categorical Variable
    14. 15.14. Recoding a Continuous Variable to a Categorical Variable
    15. 15.15. Calculating New Columns from Existing Columns
    16. 15.16. Calculating New Columns by Groups
    17. 15.17. Summarizing Data by Groups
    18. 15.18. Summarizing Data with Standard Errors and Confidence Intervals
    19. 15.19. Converting Data from Wide to Long
    20. 15.20. Converting Data from Long to Wide
    21. 15.21. Converting a Time Series Object to Times and Values
  17. Understanding ggplot2
    1. Background
    2. Some Terminology and Theory
    3. Building a Simple Plot
    4. Printing
    5. Stats
    6. Themes
    7. End
  18. Index