Home Â» How to Change Axis Scales in R Plots (With Examples)

# How to Change Axis Scales in R Plots (With Examples)

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 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 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 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â€²)

For example, the following code shows how to transform the y-axis to a log scale:

```library(ggplot2)

#define data
df 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')```

Â