Change Axis Labels of Boxplot in R (2 Examples)


In this article, I’ll illustrate how to rename the x-axis labels of a boxplot in the R programming language.

The article will consist of these contents:

So let’s start right away…


Example Data & Default Plot

The following data will be used as basement for this R programming tutorial:

set.seed(9736425)                                 # Create example data
data <- data.frame(x1 = rnorm(100),
                   x2 = rnorm(100, 2),
                   x3 = rnorm(100, 3, 3))
head(data)                                        # Head of example data


table 1 data frame change axis labels boxplot r


As you can see based on Table 1, our example data is a data frame consisting of 100 rows and three columns.


Example 1: Change Axis Labels of Boxplot Using Base R

In this section, I’ll explain how to adjust the x-axis tick labels in a Base R boxplot.

Let’s first create a boxplot with default x-axis labels:

boxplot(data)                                     # Boxplot in Base R


r graph figure 1 change axis labels boxplot


The output of the previous syntax is shown in Figure 1 – A boxplot with the x-axis label names x1, x2, and x3.

We can rename these axis labels using the names argument within the boxplot function:

boxplot(data,                                     # Change labels of boxplot
        names = c("Name_A",


r graph figure 2 change axis labels boxplot


In Figure 2 you can see that we have plotted a Base R box-and-whisker graph with the axis names Name_A, Name_B, and Name_C.


Example 2: Change Axis Labels of Boxplot Using ggplot2 Package

It is also possible to modify the axis labels of a ggplot2 boxplot.

As a first step, we have to reshape our input data frame from wide to long format using the reshape2 package.

First, we need to install and load the reshape2 package:

install.packages("reshape2")                      # Install reshape2 package
library("reshape2")                               # Load reshape2 package

Next, we can apply the melt function to transform our data frame:

data_long <- melt(data)                           # Reshape data
head(data_long)                                   # Head of reshaped data


table 2 data frame change axis labels boxplot r


In Table 2 you can see that we have created a data frame in long format.

As next step, we need to install and load the ggplot2 package:

install.packages("ggplot2")                       # Install ggplot2 package
library("ggplot2")                                # Load ggplot2

Let’s draw a ggplot2 boxplot with default axis specifications:

ggplot(data_long, aes(variable, value)) +         # Boxplot in ggplot2


r graph figure 3 change axis labels boxplot


As shown in Figure 3, we have managed to create a ggplot2 boxplot using the previously shown R code.

The simplest solution for changing the x-axis labels is that we change the label names in our long data frame. Have a look at the R code below:

data_long_labels <- data_long                     # Duplicate data
levels(data_long_labels$variable) <- c("Name_A",  # Relevel factor labels

After executing the previous R code, our variable names were changed to Name_A, Name_B, and Name_C.

Next, we can use this updated data frame to create another boxplot with the ggplot2 package:

ggplot(data_long_labels, aes(variable, value)) +  # Boxplot with updated labels


r graph figure 4 change axis labels boxplot


Figure 4 illustrates the output of the previous R programming syntax: A ggplot2 boxplot with renamed axis tick labels.


Video & Further Resources

I have recently published a video on my YouTube channel, which illustrates the R codes of this article. You can find the video below.



Furthermore, you might want to read the other articles of my website. You can find a selection of related tutorials below.


In this R tutorial you have learned how to modify boxplot axis labels. If you have further comments and/or questions, don’t hesitate to let me know in the comments section below.


Subscribe to the Statistics Globe Newsletter

Get regular updates on the latest tutorials, offers & news at Statistics Globe.
I hate spam & you may opt out anytime: Privacy Policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.