You can use the following basic syntax to change the number of axis ticks on plots in ggplot2:

p + scale_x_continuous(n.breaks=10) + scale_y_continuous(n.breaks=10)

The following example shows how to use this syntax in practice.

**Example: Change Number of Axis Ticks in ggplot2**

Suppose we have the following data frame in R:

#create data frame df <- data.frame(x=c(1, 2, 4, 5, 6, 8, 12, 14, 19), y=c(2, 5, 7, 8, 14, 19, 22, 28, 36)) #view data frame df x y 1 1 2 2 2 5 3 4 7 4 5 8 5 6 14 6 8 19 7 12 22 8 14 28 9 19 36

If we create a scatter plot, ggplot2 will automatically pick a suitable number of ticks for both the x-axis and y-axis:

library(ggplot2) #create scatter plot ggplot(df, aes(x=x, y=y)) + geom_point(size=2)

However, we can use the **n.breaks** argument to specify the exact number of ticks to use on both axes:

library(ggplot2) #create scatter plot with custom number of ticks ggplot(df, aes(x=x, y=y)) + geom_point(size=2) + scale_x_continuous(n.breaks=10) + scale_y_continuous(n.breaks=10)

Notice that the number of ticks on both axes has increased.

Also note that you can change the number of ticks on just one axis if you’d like:

library(ggplot2) #create scatter plot with custom number of ticks on x-axis only ggplot(df, aes(x=x, y=y)) + geom_point(size=2) + scale_x_continuous(n.breaks=20)

In this example, ggplot2 chooses the number of ticks to use on the y-axis but the number of ticks on the x-axis is determined by the number in the **n.breaks** argument.

**Additional Resources**

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

How to Rotate Axis Labels in ggplot2

How to Set Axis Breaks in ggplot2

How to Set Axis Limits in ggplot2

How to Change Legend Labels in ggplot2