Do you know how to add label to geom_hline in ggplot2?

In order to add a label to a geom_hline in ggplot2, you can use the geom_text() function to add the label, and provide the x and y coordinates of where the label should be placed along with the label text. You can also specify additional parameters such as the size, color, font, and angle of the label.


You can use the following basic syntax to add a label to a horizontal line in ggplot2:

+ annotate("text", x=9, y=20, label="Here is my text")

The following examples show how to use this syntax in practice.

Example 1: Add Label to geom_hline

The following code shows how to add a label to a horizontal line in ggplot2:

library(ggplot2)

#create data frame 
df <- data.frame(x=c(1, 3, 3, 4, 5, 5, 6, 9, 12, 15),
                 y=c(13, 14, 14, 12, 17, 21, 22, 28, 30, 31))

#create scatterplot with horizontal line at y=20
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  geom_hline(yintercept=20) +
  annotate("text", x=9, y=20.5, label="Some text")

Add label to geom_hline in ggplot2

Example 2: Add Customized Label to geom_hline

The following code shows how to use the size and color arguments to add a label with a custom size and color to a horizontal line in ggplot2:

library(ggplot2)

#create data frame 
df <- data.frame(x=c(1, 3, 3, 4, 5, 5, 6, 9, 12, 15),
                 y=c(13, 14, 14, 12, 17, 21, 22, 28, 30, 31))

#create scatterplot with horizontal line at y=20
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  geom_hline(yintercept=20) +
  annotate("text", x=10, y=21.5, label="Some text", size=15, color="blue")

Example 3: Add Multiple Labels to geom_hline

The following code shows how to use the annotate() function multiple times to add multiple labels to a horizontal line in ggplot2:

library(ggplot2)

#create data frame 
df <- data.frame(x=c(1, 3, 3, 4, 5, 5, 6, 9, 12, 15),
                 y=c(13, 14, 14, 12, 17, 21, 22, 28, 30, 31))

#create scatterplot with horizontal line at y=10
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  geom_hline(yintercept=20) +
  annotate("text", x=10, y=19, label="Some text", size=15, color="blue") +
  annotate("text", x=10, y=21, label="More text", size=9, color="red")

Feel free to use the annotate() function as many times as you’d like to add as many labels as you’d like to the plot.

x