Setting x and y Scales
This lesson is called Setting x and y Scales, part of the Fundamentals of R course. This lesson is called Setting x and y Scales, part of the Fundamentals of R 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.
Loading transcript...
View code shown in video
# Load Packages -----------------------------------------------------------
library(tidyverse)
# Import Data -------------------------------------------------------------
penguins <- read_csv("penguins.csv")
penguin_bill_length_by_island <-
penguins |>
group_by(island) |>
summarize(mean_bill_length = mean(bill_length_mm, na.rm = TRUE)) |>
arrange(mean_bill_length)
# Setting x and y Scales --------------------------------------------------
# Adjusting our x and y axes is similar.
# Remember that the x and y axes are considered an aesthetic properties
# in the same way color and fill are.
# We adjust our x and y axes using the scale_ set of functions.
# The exact function you use depends on your data.
# For example, you would use scale_y_continuous()
# if you have continuous data on the y axis.
# The limits argument sets the minimum and maximum values that display.
ggplot(
data = penguin_bill_length_by_island,
mapping = aes(
x = island,
y = mean_bill_length,
fill = island
)
) +
geom_col() +
scale_y_continuous(limits = c(0, 50))
# The breaks argument determines which axis labels show up.
ggplot(
data = penguin_bill_length_by_island,
mapping = aes(
x = island,
y = mean_bill_length,
fill = island
)
) +
geom_col() +
scale_y_continuous(
limits = c(0, 50),
breaks = c(0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50)
)
# If we want to change the x axis labels, we'd need to use
# the labels argument in scale_x_discrete() because that data is categorical.
ggplot(
data = penguin_bill_length_by_island,
mapping = aes(
x = island,
y = mean_bill_length,
fill = island
)
) +
geom_col() +
scale_y_continuous(
limits = c(0, 50),
breaks = c(0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50)
) +
scale_x_discrete(
labels = c("Biscoe Island", "Dream Island", "Torgersen Island")
)
Your Turn
# Load Packages -----------------------------------------------------------
library(tidyverse)
# Import Data -------------------------------------------------------------
penguins <- read_csv("penguins.csv")
# Setting x and y Scales --------------------------------------------------
# Copy the code for the last bar chart you made
# Update it so that the y axis goes from 0 to 200
# YOUR CODE HERE
# Copy the code you just wrote
# Update it so that it has breaks on the y axis at 0, 40, 80, 120, and 160
# YOUR CODE HERE
Have any questions? Put them below and we will help you out!
Course Content
33 Lessons
1
The Grammar of Graphics
04:36
2
Scatterplots
03:40
3
Histograms
04:51
4
Bar Charts
04:53
5
Setting color and fill Aesthetic Properties
02:43
6
Setting color and fill Scales
05:12
7
Setting x and y Scales
02:58
8
Adding Text to Plots
05:50
9
Plot Labels
02:59
10
Themes
02:10
11
Facets
02:56
12
Save Plots
02:49
13
Bring it All Together (Data Visualization)
06:14
You need to be signed-in to comment on this post. Login.
Maia Werner-Avidon • October 5, 2026
What is the "c" referring to in the following example: limits = c(0, 50), breaks = c(0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50)
Gracielle Higino Coach • October 5, 2026
Great question!
c()is a concatenating function that combines elements into a vector (a uni-dimensional set of elements). It's probably the most frequently used function in R! 😄 In this particular case, it's telling R that you want the limits and the breaks of your plot to be composed of all the elements in each set.Lilly Yu • October 8, 2026
When we run the last bit of code in the your-turn exercise, we lose the 200 label on the y axis. Is there a reason why this no longer exists once we've defined the line breaks as 0, 40, 80, 120, and 160, yet still defined the limits as 0 and 200?
Gracielle Higino Coach • October 8, 2026
Hi Lilly! The limits only define the range of the y-axis, not the labels that we see on the breaks. To add a break at 200, you need to include it in the breaks argument. Check what happens when you keep the breaks and change the limits to
c(0, 500), for example. You end up with a good portion of the y-axis with no breaks at all. Also test what happens when you remove any number in your breaks sequence (e.g., setbreaks = c(0, 40, 80, 160)).Lilly Yu • October 8, 2026
Thank you! I added 200 to my breaks and now see it on my Y axis.