How to Display Average Line for Y Variable Using ggplot2 in R
Last Updated :
23 Jul, 2025
In this article, we will explore how to display the average line for a Y variable using ggplot2
. Adding an average line is useful in understanding the central tendency of data and making comparisons across different groups.
Introduction to ggplot2 in R
The ggplot2
package is one of the most widely used packages for data visualization in R. It provides a powerful and flexible framework for creating a variety of plots. One of the most common tasks in data analysis is to visualize the relationship between variables and highlight key statistics, such as the average (mean) of a variable using R Programming Language.
Step 1: Setting Up Your R Environment
Before we begin, make sure to install and load the ggplot2
package if it is not already installed in your R environment.
R
# Install ggplot2 if not already installed
install.packages("ggplot2")
# Load the ggplot2 package
library(ggplot2)
Step 2: Understanding the Dataset
For demonstration purposes, we will use the built-in mtcars
dataset, which contains data about various car models, including variables like mpg
(miles per gallon), hp
(horsepower), wt
(weight), and others.
R
# Load the mtcars dataset
data("mtcars")
# Display the first few rows of the dataset
head(mtcars)
Output:
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
Step 3: Plotting the Data with ggplot2
Let’s create a basic scatter plot of mpg
(miles per gallon) versus hp
(horsepower). This plot will show the relationship between fuel efficiency and engine power.
R
# Basic scatter plot of mpg vs hp
ggplot(mtcars, aes(x = hp, y = mpg)) +
geom_point(color = "blue", size = 3) +
labs(title = "Scatter Plot of MPG vs Horsepower",
x = "Horsepower (hp)",
y = "Miles per Gallon (mpg)") +
theme_minimal()
Output:
Plotting the Data with ggplot2This will generate a scatter plot with hp
on the x-axis and mpg
on the y-axis. The next step is to add an average line for the y-variable (mpg
).
Step 4: Adding an Average Line to the Plot
To add an average (mean) line for the y-variable, we can use the geom_hline()
function. This function draws a horizontal line on the plot, which in this case will represent the mean value of mpg
.
R
# Add a horizontal line representing the average (mean) mpg
mean_mpg <- mean(mtcars$mpg)
ggplot(mtcars, aes(x = hp, y = mpg)) +
geom_point(color = "blue", size = 3) +
geom_hline(yintercept = mean_mpg, color = "red", linetype = "dashed", size = 1) +
labs(title = "Scatter Plot of MPG vs Horsepower with Average MPG Line",
x = "Horsepower (hp)",
y = "Miles per Gallon (mpg)",
subtitle = paste("Average MPG =", round(mean_mpg, 2))) +
theme_minimal()
Output:
Adding an Average Line to the Plotgeom_hline(yintercept = mean_mpg, ...)
adds a horizontal line at the y-value equal to the mean of mpg
.- The
color
, linetype
, and size
parameters customize the appearance of the average line. We set the line color to red, make it dashed, and slightly thicker. - The
subtitle
in labs()
adds a text label showing the calculated mean mpg
on the plot.
Conclusion
The Central Limit Theorem and other statistical methods provide powerful insights into the behavior of data, and ggplot2
in R allows us to visualize these statistics clearly. In this article, we demonstrated how to add an average line to a scatter plot using ggplot2
. This can be an essential tool for understanding central tendencies in data, making it easier to identify deviations and compare different groups.
Similar Reads
Interview Preparation
Practice @Geeksforgeeks
Data Structures
Algorithms
Programming Languages
Web Technologies
Computer Science Subjects
Data Science & ML
Tutorial Library
GATE CS