Home » How to Change Axis Labels of Boxplot in R (With Examples)

How to Change Axis Labels of Boxplot in R (With Examples)

by Erma Khan

You can use one of the following methods to change the x-axis labels on a boxplot in R:

Method 1: Change Axis Labels of Boxplot in Base R

boxplot(df, names=c('Label 1', 'Label 2', 'Label 3'))

Method 2: Change Axis Labels of Boxplot in ggplot2

levels(df_long$variable) Label 1', 'Label 2', 'Label 3')

ggplot(df_long, aes(variable, value)) + 
  geom_boxplot()

The following examples show how to use each method in practice with the following data frame in R:

#make this example reproducible
set.seed(0)

#create data frame
df frame(A=rnorm(1000, mean=5),
                 B=rnorm(1000, mean=10),
                 C=rnorm(1000, mean=15))

#view head of data frame
head(df)

         A         B        C
1 6.262954  9.713148 15.44435
2 4.673767 11.841107 15.01193
3 6.329799  9.843236 14.99072
4 6.272429  8.610197 14.69762
5 5.414641  8.526896 15.49236
6 3.460050  9.930481 14.39728

Example 1: Change Axis Labels of Boxplot in Base R

If we use the boxplot() function to create boxplots in base R, the column names of the data frame will be used as the x-axis labels by default:

#create boxplots
boxplot(df)

However, we can use the names argument to specify the x-axis labels to use:

#create boxplots with specific x-axis names
boxplot(df, names=c('Team A', 'Team B', 'Team C'))

Notice that the labels we specified in the names argument are now used as the x-axis labels.

Example 2: Change Axis Labels of Boxplot in ggplot2

Before we can create boxplots in ggplot2, we must use the melt() function from the reshape2 package to “melt” the data frame into a long format:

library(reshape2)

#reshape data frame to long format
df_long #view head of long data frame
head(df_long)

  variable    value
1        A 6.262954
2        A 4.673767
3        A 6.329799
4        A 6.272429
5        A 5.414641
6        A 3.460050

We can then use the levels() function to specify the x-axis labels and the geom_boxplot() function to actually create the boxplot in ggplot2:

library(ggplot2)

#specify x-axis names to use
levels(df_long$variable) Team A', 'Team B', 'Team C')

#create box plot with specific x-axis labels
ggplot(df_long, aes(variable, value)) + 
  geom_boxplot()

Notice that the labels we specified using the levels function are now used as the x-axis labels.

Additional Resources

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

How to Reorder Boxplots in R
How to Create a Grouped Boxplot in R
How to Label Outliers in Boxplots in R
How to Draw Boxplots with Mean Values in R

Related Posts