Skip to content
R for the Rest of Us Logo

Setting color and fill Scales

This lesson is locked

Get access to all lessons in this course.

Transcript

Click on the transcript to go to that point in the video. Please note that transcripts are auto generated and may contain minor inaccuracies.

View code shown in video
# Load Packages -----------------------------------------------------------

library(tidyverse)

# Import Data -------------------------------------------------------------

penguins <- read_csv("penguins.csv")
			
# Setting color and fill Scales -------------------------------------------

# We can change the color or fill scale using a scale function.

# The function scale_color_manual() allows us to manually specify colors to use.

ggplot(data = penguins,
       mapping = aes(x = bill_length_mm,
                     y = bill_depth_mm,
                     color = island)) +
  geom_point() +
  scale_color_manual(values = c("orange", "dodgerblue", "green"))

# We can also use built-in palettes. 

# The scale_color_viridis_d() function (the d means it works with discrete data)
# is a great way to get colorblind-friendly palettes.

ggplot(data = penguins,
       mapping = aes(x = bill_length_mm,
                     y = bill_depth_mm,
                     color = island)) +
  geom_point() +
  scale_color_viridis_d()

# The scale_color_viridis_d() function also has several built-in palettes.
# You can use them as follows.

ggplot(data = penguins,
       mapping = aes(x = bill_length_mm,
                     y = bill_depth_mm,
                     color = island)) +
  geom_point() +
  scale_color_viridis_d(option = "A")

ggplot(data = penguins,
       mapping = aes(x = bill_length_mm,
                     y = bill_depth_mm,
                     color = island)) +
  geom_point() +
  scale_color_viridis_d(option = "H")

# There are many other built-in palettes. Just type scale_color_ and RStudio
# will autocomplete some other options for you.

# We can use scale_fill_viridis_d() for the fill aesthetic property.

ggplot(data = penguin_bill_length_by_island,
       mapping = aes(x = island,
                     y = mean_bill_length,
                     fill = island)) +
  geom_col() +
  scale_fill_viridis_d()

Your Turn

# Load Packages -----------------------------------------------------------

library(tidyverse)

# Import Data -------------------------------------------------------------

penguins <- read_csv("penguins.csv")
			
# Setting color and fill Scales -------------------------------------------

# Take your scatterplot that you just made and add a scale using scale_color_manual(). 
# You can find a list of all colors you can use here:
# https://www.datanovia.com/en/blog/awesome-list-of-657-r-color-names/

# YOUR CODE HERE

# Now update the last bar chart you made by manually specifying colors of the bars

# YOUR CODE HERE

# Update your bar chart using the scale_fill_viridis_d() function instead of
# scale_fill_manual()

# YOUR CODE HERE

Learn More

The PDF shown in the video has gone missing, but you can see a list of all named colors here.

There are a lot of other packages that give you color/fill palettes you can work with. See especially the paleteer package, which is a meta palette package, give you access to palettes from many other packages.

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

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

Shadi Mahmoodi

Shadi Mahmoodi

October 13, 2023

Hi David, the link to the pdf is no longer working. Would you please post an updated one? thx