How to Use scale_x_continuous in ggplot2 (With Examples)


You can use the scale_x_continuous() function in ggplot2 to customize the x-axis of a given plot.

This function uses the following basic syntax:

p +
  scale_x_continuous(breaks, n.breaks, labels, limits, ...)

where:

  • breaks: A numeric vector of positions for breaks on the x-axis
  • n.breaks: An integer vector specifying the number of total breaks on the x-axis
  • labels: A character vector of labels to use for the x-axis
  • limits: A numeric vector that specifies the min and max value for the x-axis

The following examples show how to use this function in different scenarios with the following data frame in R:

#create data frame
df <- data.frame(points=c(5, 7, 12, 13, 15, 19, 22, 25),
                 assists=c(4, 3, 2, 3, 7, 8, 5, 7))

#view data frame
df

  points assists
1      5       4
2      7       3
3     12       2
4     13       3
5     15       7
6     19       8
7     22       5
8     25       7

Example 1: Use scale_x_continuous with Custom Axis Breaks

The following code shows how to create a scatterplot in ggplot2 and use scale_x_continuous() with the breaks argument to specify custom axis breaks of 5, 15 and 25:

library(ggplot2)

#create scatterplot with custom x-axis breaks
ggplot(df, aes(x=points, y=assists)) +
  geom_point(size=2) + 
  scale_x_continuous(breaks=c(5, 15, 25))

Notice that the x-axis only contains axis breaks at 5, 15 and 25, just as we specified using the breaks argument.

Example 2: Use scale_x_continuous with Custom Number of Breaks

The following code shows how to create a scatterplot in ggplot2 and use scale_x_continuous() with the n.breaks argument to place exactly 12 axis breaks on the x-axis:

library(ggplot2)

#create scatterplot with custom number of breaks on x-axis
ggplot(df, aes(x=points, y=assists)) +
  geom_point(size=2) + 
  scale_x_continuous(n.breaks=12)

Notice that the x-axis contains exactly 12 axis breaks, just as we specified using the n.breaks argument.

Example 3: Use scale_x_continuous with Custom Labels

The following code shows how to create a scatterplot in ggplot2 and use scale_x_continuous() with the labels argument to specify the label names to place on the x-axis:

library(ggplot2)

#create scatterplot with custom labels on x-axis
ggplot(df, aes(x=points, y=assists)) +
  geom_point(size=2) + 
  scale_x_continuous(breaks=c(5, 15, 25), labels=c('five', 'fifteen', 'twenty-five'))

Notice that the x-axis contains 3 axis breaks each with custom labels, just as we specified using the labels argument.

Example 4: Use scale_x_continuous with Custom Limits

The following code shows how to create a scatterplot in ggplot2 and use scale_x_continuous() with the limits argument to specify custom x-axis limits of 0 and 40:

library(ggplot2)

#create scatterplot with custom x-axis limits
ggplot(df, aes(x=points, y=assists)) +
  geom_point(size=2) + 
  scale_x_continuous(limits=c(0, 40))

Notice that the x-axis ranges from 0 to 40, just as we specified using the limits argument.

Additional Resources

The following tutorials explain how to perform other common tasks in ggplot2:

How to Use scale_y_continuous in ggplot2
How to Rotate Axis Labels in ggplot2
How to Change Legend Labels in ggplot2

Leave a Reply

Your email address will not be published.