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 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