Align Text to Line in ggplot2 Plot in R (Example)


This article shows how to align text and lines in a ggplot2 plot in the R programming language.

The tutorial will consist of one example for the alignment of a text element to a line in a ggplot2 plot. To be more precise, the content of the article is structured as follows:

With that, let’s dive right into the example!


Example Data, Packages & Basic Plot

The following data is used as basement for this R tutorial:

data <- data.frame(x = 1:6,         # Create example data
                   y = 1:6)
data                                # Print example data


table 1 data frame align text line ggplot2


As you can see based on Table 1, our example data is a data frame consisting of six rows and two integer variables called “x” and “y”.

We also need to install and load the ggplot2 package, if we want to use the corresponding functions:

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

As a next step, we can plot our data:

ggp <- ggplot(data, aes(x, y)) +    # ggplot2 scatterplot without line & text


r graph figure 1 align text line ggplot2


The output of the previous R programming code is shown in Figure 1: A ggplot2 scatterplot without any line or text elements.


Example: Add Aligned Line & Text to ggplot2 Plot Using annotate() Function

In this section, I’ll illustrate how to draw a vertical line with aligned text elements.

To achieve this, we can apply the geom_vline and annotate functions as shown in the following R code:

ggp +                               # Draw line and text
  geom_vline(xintercept = 3.5) +
           x = 3.5,
           y = 3,
           angle = 90,
           label = "right-aligned text\n") +
           x = 3.5,
           y = 3,
           angle = 90,
           label = "\nleft-aligned text")


r graph figure 2 align text line ggplot2


After executing the previously shown R programming code the ggplot2 plot with text aligned to a vertical line shown in Figure 2 has been plotted.

As you can see in the previous code, we were able to do this based on a line break (i.e. “\n”) after / before the text element.

Note that we could apply a similar logic in case we want to draw a horizontal line with text.


Video & Further Resources

I have recently published a video instruction on my YouTube channel, which explains the R programming codes of this tutorial. Please find the video below:



Furthermore, you could have a look at the other articles on my website. I have released several other posts on related topics such as regression models, lines, dates, and ggplot2:


To summarize: In this article, I have shown how to align text elements to lines in a ggplot2 plot in the R programming language. Please tell me about it in the comments section below, if you have additional comments and/or questions.


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.