Skip to content
Related Articles

Related Articles

Improve Article

Change Axis Labels of Boxplot in R

  • Difficulty Level : Expert
  • Last Updated : 06 Jun, 2021

A box graph is a chart that is used to display information in the form of distribution by drawing boxplots for each of them. Boxplots help us to visualize the distribution of the data by quartile and detect the presence of outliers. Adding axis labels for Boxplot will help the readability of the boxplot.

In this article, we will discuss how to change the axis labels of boxplot in R Programming Language.

Method 1: Using Base R

Boxplots are created in R Programming Language by using the boxplot() function.

Syntax:

boxplot(x, data, notch, varwidth, names, main)

Parameters:

  • x: This parameter sets as a vector or a formula.
  • data: This parameter sets the data frame.
  • notch: This parameter is the label for horizontal axis.
  • varwidth: This parameter is a logical value. Set as true to draw width of the box proportionate to the sample size.
  • main: This parameter is the title of the chart.
  • names: This parameter are the group labels that will be showed under each boxplot.

If made with basic R, we use the names parameter of the boxplot() function. For this boxplot data, has to be first initialized and the name which has to be added to axis is passed as vector. Then boxplot() is called with data and names parameter set to this vector. 

Example:



R




# sample data for plotting
geeksforgeeks=c(120,26,39,49,15)
scripter=c(115,34,30,92,81)
writer=c(100,20,15,32,23)
  
# labels for Axis
label=c("geeksforgeeks","scripter","writer")
  
# boxplot with names parameter for labels
boxplot(geeksforgeeks, scripter, writer, names=label)

Output:

Boxplot with Axis Label

This can also be done to Horizontal boxplots very easily. To convert this to horizontal boxplot add parameter Horizontal=True and rest of the task remains the same. For this, labels will appear on y-axis.

Example:

R




# sample data for plotting
geeksforgeeks=c(120,26,39,49,15)
scripter=c(115,34,30,92,81)
writer=c(100,20,15,32,23)
  
# labels for Axis
label=c("geeksforgeeks","scripter","writer")
  
# boxplot with names parameter for labels
boxplot(geeksforgeeks, scripter, writer, 
        names=label, horizontal=TRUE)

Output:

Horizontal boxplot with changed labels

Method 2: Using ggplot2

If made with ggplot2, we change the label data in our dataset itself before drawing the boxplot.

Reshape module is used to convert sample data from wide format to long format and ggplot2 will be used to draw boxplot. After data is created, convert data from wide format to long format using melt function. Now, change the variable name in the dataset and simply draw the boxplot.



Example:

R




# load package reshape2 and ggplot2
library("reshape2"
library("ggplot2"
  
# Create sample data 
set.seed(97364)                              
sample <- data.frame(x1 = rnorm(200),
                   x2 = rnorm(200, 2),
                   x3 = rnorm(200, 3, 3))
  
# Reshape sample data to long form
sample_main <- melt(sample)
  
# Add variable parameter for axis label in dataset
levels(sample_main$variable) <- c("geeksforgeeks","scripter","writer")
  
# Draw boxplot
ggplot(sample_main, aes(variable, value)) + 
geom_boxplot()

Output:

Boxplot with changed label

This can be done to Horizontal boxplots very easily. To convert this to Horizontal Boxplot add coord_flip() in the boxplot code, and rest remains the same as above.

Syntax: 

geom_boxplot() + coord_flip()

Example:

R




# load package reshape2 and ggplot2
library("reshape2"
library("ggplot2"
  
# Create sample data 
set.seed(97364)                              
sample <- data.frame(x1 = rnorm(200),
                   x2 = rnorm(200, 2),
                   x3 = rnorm(200, 3, 3))
  
# Reshape sample data to long form
sample_main <- melt(sample)
  
# Add variable parameter for axis label in dataset
levels(sample_main$variable) <- c("geeksforgeeks","scripter","writer")
  
# Draw boxplot
ggplot(sample_main, aes(variable, value)) + 
geom_boxplot() + coord_flip()

Output:

Horizontal boxplot using ggplot2 with changed label




My Personal Notes arrow_drop_up
Recommended Articles
Page :