Table of Contents
Using the ggplot2 package in R, you can add a horizontal line to a plot by adding a geom_hline layer to your existing plot. This layer takes two required arguments, the intercept for the line and the linetype. You can also customize the line by setting the color, size and other aesthetic properties as desired. This allows you to create a plot with a horizontal line that is customized to the data being plotted.
You can quickly add horizontal lines to ggplot2 plots using the geom_hline() function, which uses the following syntax:
geom_hline(yintercept, linetype, color, size)
where:
- yintercept: Location to add line on the y-intercept.
- linetype: Line style. Default is ‘solid’ but you can specify ‘twodash’, ‘longdash’, ‘dotted’, ‘dotdash’, ‘dashed’, or ‘blank.’
- color: Color of the line.
- size: Width of the line.
The following examples show how to use this function in practice.
Add a Single Horizontal Line to a Plot
The following code shows how to add a single horizontal line to a plot:
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)
Add Multiple Horizontal Lines to Plots
The following code shows how to add multiple horizontal lines to a plot:
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 lines at y = 10, 20, 30 ggplot(df, aes(x=x, y=y)) + geom_point() + geom_hline(yintercept=c(10, 20, 30))
Customize Horizontal Lines
The following code shows how to customize horizontal lines on a plot:
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 customized horizontal lines ggplot(df, aes(x=x, y=y)) + geom_point() + geom_hline(yintercept=c(20, 30), linetype='dashed', color=c('blue', 'red'))
How to Plot a Linear Regression Line in ggplot2
How to Set Axis Limits in ggplot2