How to Create Horizontal Boxplots in R

Spread the love

Boxplots are an essential tool in data exploration and visualization. They provide a five-number summary of a set of observations, displaying the minimum, first quartile (Q1), median, third quartile (Q3), and maximum. This makes boxplots an excellent tool for identifying outliers and understanding the distribution of your data.

Most of the time, boxplots are presented vertically, but there are situations where a horizontal boxplot is more appropriate. For instance, if the labels for different groups are long, horizontal boxplots make these labels easier to read.

This comprehensive guide will show you how to create horizontal boxplots in the R programming language using base R functions and ggplot2 package.

1. Setting Up the Environment

Before we dive into creating horizontal boxplots, we need to set up our environment by installing and loading the necessary packages.

Here’s how to do it:

# Install necessary packages

# Load necessary packages

2. Creating Horizontal Boxplots in Base R

Base R offers a simple way of creating boxplots through the boxplot() function. To create a horizontal boxplot, we need to set the horizontal = TRUE parameter.

Here’s an example:

# Create a numeric vector
data <- c(4, 5, 6, 7, 8, 9, 5, 6, 7, 5, 6, 9, 8)

# Create a horizontal boxplot
boxplot(data, horizontal = TRUE)

3. Creating Horizontal Boxplots with ggplot2

The ggplot2 package allows for more customization and can create more visually appealing plots. Here’s how to create a horizontal boxplot with ggplot2:

# Create a data frame
df <- data.frame(
  group = rep(c("Group 1", "Group 2", "Group 3"), each = 20),
  value = rnorm(60)

# Create a horizontal boxplot
ggplot(df, aes(x = group, y = value)) +
  geom_boxplot() +
  coord_flip() # This flips the coordinates and makes the boxplot horizontal

With ggplot2, you can add more customizations. For instance, you can change the theme, add a title, or change the boxplot color:

ggplot(df, aes(x = group, y = value)) +
  geom_boxplot(fill = "lightblue") +
  coord_flip() +
  labs(title = "Horizontal Boxplot with ggplot2", x = "Group", y = "Value") +


In this guide, you’ve learned how to create horizontal boxplots in R using base R, and ggplot2. Each method has its strengths: base R is straightforward and requires no extra packages, ggplot2 offers more customization options and creates visually appealing plots.

Posted in RTagged

Leave a Reply