Table of Contents
Changing the axis scales in R plots can be done easily using the scale_x_continuous() and scale_y_continuous() functions in the ggplot2 package. These functions take a number of parameters that can be used to customize the axis scales, such as the range of the scale, the labels, and the number of breaks. Examples of changing the axis scales can be seen in the ggplot2 documentation and through online tutorials.
Often you may want to change the scale used on an axis in R plots.
This tutorial explains how to change axis scales on plots in both base R and ggplot2.
Example 1: Change Axis Scales in Base R
To change the axis scales on a plot in base R, we can use the xlim() and ylim() functions.
The following code shows how to use these functions in practice:
#define data df <- data.frame(x=c(1, 3, 3, 4, 6, 8, 12, 13, 15, 18, 21, 22), y=c(13, 15, 9, 17, 22, 25, 29, 35, 39, 44, 45, 40)) #create plot with default axis scales plot(df$x, df$y, pch=19, main='Default Axes') #create plot with custom axis scales plot(df$x, df$y, pch=19, xlim=c(0,30), ylim=c(0,150), main='Custom Axes')
Note that you can also quickly transform one of the axes to a log scale by using the log argument. For example, the following code shows how to transform the y-axis to a log scale:
#define data df <- data.frame(x=c(1, 3, 3, 4, 6, 8, 12, 13, 15, 18, 21, 22), y=c(13, 15, 9, 17, 22, 25, 29, 35, 39, 44, 45, 40)) #create plot with log y-axis plot(df$x, df$y, log='y', pch=19)
Example 2: Change Axis Scales in ggplot2
To change the axis scales on a plot in base R, We can also use the xlim() and ylim() functions to change the axis scales
The following code shows how to use these functions in practice:
library(ggplot2) #define data df <- data.frame(x=c(1, 3, 3, 4, 6, 8, 12, 13, 15, 18, 21, 22), y=c(13, 15, 9, 17, 22, 25, 29, 35, 39, 44, 45, 40)) #create scatterplot with custom axes ggplot(data=df, aes(x=x, y=y)) + geom_point() + xlim(0, 30) + ylim(0, 150)
We can also transform either of the axes to a log scale by using the following arguments:
- scale_x_continuous(trans=’log10′)
- scale_y_continuous(trans=’log10′)
library(ggplot2) #define data df <- data.frame(x=c(1, 3, 3, 4, 6, 8, 12, 13, 15, 18, 21, 22), y=c(13, 15, 9, 17, 22, 25, 29, 35, 39, 44, 45, 40)) #create scatterplot with log y-axis ggplot(data=df, aes(x=x, y=y)) + geom_point() + scale_y_continuous(trans='log10')
You can find more R data visualization tutorials on .