Skip to content
R for the Rest of Us: A Statistics-Free Introduction is out now! Check it out →
R for the Rest of Us Logo

This lesson is locked

Get access to all lessons in this course.

Now that you have completed this section of the course, you’re ready to wow your clients with some fantastic data visualizations. If you want to refer back to the examples used in this section, the rendered HTML file is available.

Tidy Tuesday

The best way to improve your data visualization skills in ggplot is, not surprisingly, to practice! Fortunately for you, there is a great community of folks learning R who have banded together to create visualizations each week as part of the Tidy Tuesday project, described as:

A weekly data project aimed at the R ecosystem. An emphasis will be placed on understanding how to summarize and arrange data to make meaningful charts with ggplot2tidyrdplyr, and other tools in the tidyverse ecosystem.

Take a look at the #TidyTuesday hashtag on Twitter, where people post visualizations they create each week, often with the code used to produce them.

Looking at Others' Code

If you start looking at other people's ggplot code, you may see some differences from how I wrote code for this course. For example, code that I wrote looks like this:

ggplot(data = sleep_by_gender, 
       mapping = aes(x = gender, 
                     y = avg_sleep,
                     fill = gender)) +
	geom_col()

If you look at other people's ggplot code, you'll likely see that they tend to drop many of the arguments. The code below, for example, is identical to the code above, but it drops the data, mapping, x, and y arguments.

ggplot(sleep_by_gender, 
       aes(gender, 
           avg_sleep,
           fill = gender)) +
    geom_col()

Because you have to have all of those arguments to make any plot, ggplot is ok if you don't include them. As you write more code, you'll likely drop them in the interest of brevity.

What About Pie Charts?

You may be wondering why I didn’t include pie charts in this course. There are two reasons.

  1. Practically speaking, pie charts are a bit challenging to make in R. They require you to make a stacked bar chart and then use coord_polar to use a polar coordinate system. This is a multi-step process and goes beyond what’s possible in a fundamentals of data visualization in R module.

  2. Conceptually speaking, pie charts are problematic. People often struggle to see the difference between slices, meaning they don’t accomplish their purpose. While there are ways to appropriately use pie charts, they are far more likely to be misused.

Given these two issues, I decided to not teach how to make pie charts in this course. There are plenty of resources available if you want to make pie charts in ggplot so if you’d like to learn how to make them, you now have the background to understand others’ tutorials.

The Data Visualization World is Your Oyster

Now that you have the fundamentals down, you’re ready to dive into the beautiful world of ggplot.

There are many ggplot extensions that enable you to make all sorts of novel visualizations. Here are examples of visualizations produced with a couple of ggplot extensions I particularly like:

ggbeeswarm produces beeswarm plots, “a way of plotting points that would ordinarily overlap so that they fall next to each other instead. In addition to reducing overplotting, it helps visualize the density of the data at each point (similar to a violin plot), while still showing each data point individually.”

ggbeeswarm example (source: Will Chase)

ggridges produces ridgeline plots, which are “partially overlapping line plots that create the impression of a mountain range. They can be quite useful for visualizing changes in distributions over time or space.”

A ridgeline plot I produced for a client

And, if you really want to get fancy, check out gganimate, which does what it says on the tin.

Have any questions? Put them below and we will help you out!

You need to be signed-in to comment on this post. Login.