Setting x and y Scales
This lesson is called Setting x and y Scales, part of the R in 3 Months (Fall 2026) course. This lesson is called Setting x and y Scales, part of the R in 3 Months (Fall 2026) 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
143 Lessons
1
Welcome to Fundamentals of R
01:20
2
Update Everything
02:26
3
Start a New Project
02:38
4
The Tidyverse
03:24
5
Pipes
03:52
6
select()
04:43
7
mutate()
03:22
8
filter()
10:18
9
Quiz
10
summarize()
05:38
11
Grouped Summaries
04:24
12
arrange()
02:50
13
Create a New Data Frame
03:30
14
Quiz
15
Bring it All Together (Data Wrangling)
07:09
16
Week 2 Project Assignment
13:10
17
Week 2 Coworking Session (Fall 2026)
18
Week 2 Live Session (Fall 2026)
59:16
1
The Grammar of Graphics
04:36
2
Scatterplots
03:40
3
Histograms
04:51
4
Bar Charts
04:53
5
Quiz
6
Setting color and fill Aesthetic Properties
02:43
7
Setting color and fill Scales
05:12
8
Quiz
9
Setting x and y Scales
02:58
10
Adding Text to Plots
05:50
11
Plot Labels
02:59
12
Themes
02:10
13
Facets
02:56
14
Save Plots
02:49
15
Bring it All Together (Data Visualization)
06:14
16
Week 3 Project Assignment
06:02
17
Week 3 Coworking Session (Fall 2026)
18
Week 3 Live Session (Fall 2026)
1:00:46
1
Best Practices in Data Visualization
03:38
2
Tidy Data
02:25
3
Pipe Data in ggplot
08:18
4
Reorder Plots to Highlight Findings
03:50
5
Line Charts
04:13
6
Use Color to Highlight Findings
08:23
7
Declutter
07:53
8
Add Descriptive Labels to Your Plots
09:18
9
Use Titles to Highlight Findings
08:30
10
Use Annotations to Explain
06:35
11
Quiz
12
Week 9 Coworking Session (Fall 2026)
13
Week 9 Live Session (Fall 2026)
59:10
1
Advanced Markdown
07:10
2
Tables
15:48
3
Advanced YAML and Code Chunk Options
05:42
4
Inline R Code
03:42
5
Making Your Reports Shine: Word Edition
05:08
6
Making Your Reports Shine: PDF Edition
07:37
7
Making Your Reports Shine: HTML Edition
06:08
8
Presentations
11:12
9
Dashboards
06:20
10
Websites
08:11
11
Publishing Your Work
02:37
12
Quarto Extensions
06:38
13
Parameterized Reporting, Part 1
07:02
14
Parameterized Reporting, Part 2
04:03
15
Parameterized Reporting, Part 3
06:22
16
Quiz
17
Week 12 Coworking Session (Fall 2026)
18
Week 12 Live Session (Fall 2026)
57:26
1
Working with dates
18:22
2
Working with labelled data
05:35
3
Understanding Documentation Pages
05:20
4
Factors in R
11:18
5
Add citations to Quarto documents
10:42
6
Change titles of facet plots
08:16
7
Population pyramid plot
04:24
8
Crosstabs
06:58
9
Difference between == and %in%
03:17
10
Quarto - rendering and working directories
13:05
11
Regular expressions
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.