Add Color to Region Between Two Lines in ggplot2 Line Plot in R (2 Examples)


This article explains how to highlight the region between two ggplot2 lines with color in R.

The post consists of these content blocks:

So now the part you have been waiting for – the examples!


Example Data, Packages & Default Graphic

The following data is used as a basis for this R tutorial:

data <- data.frame(x = 1:5,          # Create example data frame
                   y1 = c(1, 3, 1, 4, 4),
                   y2 = c(5, 4, 4, 5, 7))
data                                 # Print example data frame


table 1 data frame add color region between two lines ggplot2 line r


Table 1 shows the structure of the example data – It is constituted of five rows and three columns.

In this tutorial, we’ll also need to install and load the ggplot2 package.

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

Now, we can draw our data as shown below:

ggp <- ggplot(data, aes(x = x)) +    # Create default ggplot2 line plot
  geom_line(aes(y = y1)) +
  geom_line(aes(y = y2))
ggp                                  # Draw default ggplot2 line plot


r graph figure 1 add color region between two lines ggplot2 line r


As illustrated in Figure 1, we have plotted a ggplot2 line plot by running the previous code.


Example 1: Add Color Between Two Lines in ggplot2 Line Plot

This example explains how to fill the area between two ggplot2 lines.

For this task, we can use the R programming syntax below:

ggp +                                # Add color between lines
  geom_ribbon(aes(x = x,
                  ymin = y1,
                  ymax = y2),
              fill = "#1b98e0")


r graph figure 2 add color region between two lines ggplot2 line r


As shown in Figure 2, we have managed to create a ggplot2 line graph with blue color between the lines with the previous R programming code.


Example 2: Add Shading Between Two Lines in ggplot2 Line Plot

In Example 2, I’ll show how to draw a transparent gray shade between the lines of a ggplot2 graphic.

ggp +                                # Add shading between lines
  geom_ribbon(aes(x = x,
                  ymin = y1,
                  ymax = y2),
              fill = "gray",
              alpha = 0.4)


r graph figure 3 add color region between two lines ggplot2 line r


After running the previous R code the shaded region between our two lines visualized in Figure 3 has been drawn.


Video & Further Resources

Do you need more explanations on the R codes of the present article? Then I recommend watching the following video on my YouTube channel. In the video, I’m explaining the R code of this article.


Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.

YouTube Content Consent Button Thumbnail

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.


Furthermore, you may have a look at some of the related R tutorials on I have published several tutorials on topics such as text elements, colors, ggplot2, and graphics in R.


Summary: In this tutorial, I have shown how to draw color between two lines in a ggplot2 plot in R programming. Please let me know in the comments below, if you have any additional questions. Furthermore, please subscribe to my email newsletter in order to receive regular updates on new articles.


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.