Today, we will learn how to make a spaghetti plot in the R programming language. And it is widely used in the data analysis industry. To learn how to plot it, see this article.
What is the spaghetti plot in R?
A spaghetti plot is a diagram showing several lines or curves that each reflect the data from a different group. The many lines resemble a spaghetti plate, thus the name “spaghetti plot.” It is common practice to use spaghetti plots to show the trend of several groups across time or space.
How to create a spaghetti plot in R?
Create a simple spaghetti plot
Here, If you want to create a spaghetti plot in R, first, you need to install and load the ggplot2 package to create it. You can click here if you don’t know how to load this package or run the code below
# Install and load the 'ggplot2' package install.packages("ggplot2") library(ggplot2)
Now, we will create a fake data frame for this example to create a spaghetti plot as follows.
library(ggplot2) # Create a data frame set.seed(100) data1 <- sample(1:10, 10) data2 <- sample(1:10, 10) data3 <- sample(1:10, 10) df <- data.frame(data1, data2, data3) # View a data frame head(df)
Output
data1 data2 data3
1 10 10 4
2 7 7 7
3 6 8 6
4 3 6 2
5 1 9 3
We will use the ggplot() and geom_line() functions to create a spaghetti plot with the data are data frame and data1 above as follows
library(ggplot2) # Create a data frame set.seed(100) data1 <- sample(1:10, 10) data2 <- sample(1:10, 10) data3 <- sample(1:10, 10) df <- data.frame(data1, data2, data3) # Create the spaghetti plot ggplot(data = df, aes(x = 1:10)) + geom_line(aes(y = data1))
Output
If you want to plot data2 and data3 data above, we can do it as follows.
# Create the spaghetti plot ggplot(data = df, aes(x = 1:10)) + geom_line(aes(y = data1)) + geom_line(aes(y = data2)) + geom_line(aes(y = data2))
Output
Customize a spaghetti plot in R?
In this step, we can use the color argument in the aes() function to change the color in a spaghetti plot.
# Create the spaghetti plot ggplot(data = df, aes(x = 1:10)) + geom_line(aes(y = data1, color = "data 1")) + geom_line(aes(y = data2, color = "data 2")) + geom_line(aes(y = data3, color = "data 3"))
Output
To add the title, you can use the labs() function. Check out the code example below:
# Create the spaghetti plot ggplot(data = df, aes(x = 1:10)) + geom_line(aes(y = data1, color = "data 1")) + geom_line(aes(y = data2, color = "data 2")) + geom_line(aes(y = data3, color = "data 3")) + labs( title = "The Spaghetti Plot", x = "X values", y = "Y values" ) + theme(legend.title = element_blank())
Output
Summary
In summary, this article helps you discover how to create a spaghetti plot in R and solve your problem. If you have any questions, do write a comment below.
Have a great day!

Hi, guys! My name’s Scott Miller. My current job is a software developer and I have shared a lot of quality articles about Javascript, C, C++, C#, Python, PHP, R, Java programming languages. I’m hoping they can assist you.
Name of the university: HCMUS
Major: IT
Programming Languages: C, C++, Python, R, Java, JavaScript