Reorder ggplot2 Boxplot by Median Values in R (Example Code)

In this post, I’ll demonstrate how to sort boxplots by median values in R programming.

Preparing the Example

data(iris)                        # Loading example data frame
head(iris)
#   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1          5.1         3.5          1.4         0.2  setosa
# 2          4.9         3.0          1.4         0.2  setosa
# 3          4.7         3.2          1.3         0.2  setosa
# 4          4.6         3.1          1.5         0.2  setosa
# 5          5.0         3.6          1.4         0.2  setosa
# 6          5.4         3.9          1.7         0.4  setosa
install.packages("ggplot2")       # Install & load ggplot2 package
library("ggplot2")
ggplot(iris,                      # Drawing ggplot2 boxplot with unordered boxes
       aes(x = Species,
           y = Sepal.Width)) +
  geom_boxplot()

r graph figure 1 reorder ggplot2 boxplot median values r

Example: Sorting ggplot2 Boxplot by Median

Species_sort <- with(iris,        # Get ordering by median
                      reorder(Species,
                              Sepal.Width,
                              median))
iris_new <- iris                  # Reordering factor levels
iris_new$Species <- factor(iris_new$Species,
                           levels = levels(Species_sort))
ggplot(iris_new,                  # Drawing ggplot2 boxplot with ordered boxes
       aes(x = Species,
           y = Sepal.Width)) +
  geom_boxplot()

r graph figure 2 reorder ggplot2 boxplot median values r

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.
You need to agree with the terms to proceed

Menu
Top