How To Plot Two Boxplots Side By Side In R

R Programming

As an avid R user and data enthusiast, I often find myself needing to visualize and compare distributions of data. One of my go-to techniques for this task is creating side-by-side boxplots using R. Boxplots provide a compact way to display the distribution of data, making it easy to compare multiple datasets at once. In this article, I will guide you through the process of plotting two boxplots side by side in R, and share some personal insights and tips along the way.

Getting Started

To begin, we need to have R installed on our machine. If you haven’t already, you can download the latest version of R from the official R website ( ). Once you have R installed, you can launch it and open a new script or R Markdown file to start writing your code.

Reading and Preparing the Data

Now that we have our R environment set up, let’s start by reading and preparing our data. For this example, let’s say we have two datasets: dataset1 and dataset2. Make sure your datasets are in a format that R can read, such as CSV or Excel files.

We can use the read.csv() function to read our datasets into R. Here’s an example:

dataset1 <- read.csv("path_to_dataset1.csv") dataset2 <- read.csv("path_to_dataset2.csv")

Once we have our datasets in R, it's a good practice to inspect and clean the data before plotting. You can use functions like head() and summary() to get an overview of the data and check for any missing values or outliers.

Creating the Side-by-Side Boxplots

Now that we have our data ready, let's move on to creating the side-by-side boxplots. In R, we can use the boxplot() function to generate boxplots. To plot two boxplots side by side, we need to pass both datasets as arguments to the boxplot() function.

boxplot(dataset1, dataset2, names = c("Dataset 1", "Dataset 2"), col = c("lightblue", "lightgreen"))

Let's break down the code:

  • dataset1 and dataset2 are the datasets we want to compare.
  • names = c("Dataset 1", "Dataset 2") sets the labels for each boxplot.
  • col = c("lightblue", "lightgreen") sets the colors for each boxplot. You can customize the colors according to your preference.

By running this code, you should see a side-by-side boxplot of your datasets, with clear labels and colors differentiating the two distributions.

Customizing and Enhancing the Boxplots

Now that we have the basic side-by-side boxplots, let's explore some ways to customize and enhance them to better suit our needs.

Adding Titles and Axis Labels

To make our plot more informative, we can add titles and axis labels. We can use the title() function to add a title to the plot, and the ylab() function to add a label to the y-axis:

title("Comparison of Datasets 1 and 2")

Feel free to modify the titles and labels to make them more specific to your datasets.

Changing Boxplot Appearance

If you want to further customize the appearance of the boxplots, you can modify various parameters such as the color, outline, and width of the boxes. For example, to change the color of the box and whiskers, you can use the col parameter:

boxplot(dataset1, dataset2, names = c("Dataset 1", "Dataset 2"), col = c("lightblue", "lightgreen"),
boxcol = c("darkblue", "darkgreen"))

In this code, we set the boxcol parameter to specify the color of the box and whiskers.

Adding Personal Touches and Commentary

While creating visualizations, it's important to add personal touches and commentary to make the insights more relatable and meaningful. For example, you can discuss the context behind the datasets, mention any interesting findings, or highlight the importance of comparing the distributions.

Moreover, you can incorporate storytelling elements, such as anecdotes or real-life examples, to engage your audience and make the article more compelling and relatable.


Creating side-by-side boxplots in R can be a powerful tool for comparing distributions and gaining insights from your data. By following the steps outlined in this article, you can easily visualize and customize your boxplots to suit your specific needs. Remember to always inspect and prepare your data before plotting, and don't forget to add your personal touch and commentary to make your analysis more engaging. Happy visualizing!