Skip to content
Related Articles
Open in App
Not now

Related Articles

Plot lines from a list of dataframes using ggplot2 in R

Improve Article
Save Article
  • Last Updated : 05 Nov, 2021
Improve Article
Save Article

In this article, we will discuss how to plotlines in ggplot from a list of dataframes in the R programming language.

The ggplot2 package is used to visualize and analyze the data. The package can be downloaded and installed using the following command in R : 

install.packages("ggplot2")

The ggplot method in R is used to do graph visualizations using the specified data frame. It is used to instantiate a ggplot object. Aesthetic mappings can be created to the plot object to determine the relationship between the x and y axis respectively. Additional components can be added to the created ggplot object.

Syntax: ggplot(data = NULL, mapping = aes(), colour())

Arguments :

  • data – Default dataset to use for plot.
  • mapping – List of aesthetic mappings to use for plot.

Geoms can be added to the plot using various methods. The geom_line() method in R can be used to add graphical lines in the plots made. It is added as a component to the existing plot. Aesthetic mappings can also contain color attributes that are assigned differently based on different dataframes. The geom_line() method has the following syntax : 

geom_line()

Example 1: 

R




# importing required libraries
library("dplyr")
library("ggplot2")
  
  
# creating the dataframes
df1 = data.frame(col1=c(1: 10), col2=rnorm(10))
df2 = data.frame(col1=c(5: 10), col2=rnorm(6))
df3 = data.frame(col1=c(2: 12), col2=rnorm(11))
  
# creating a list of dataframes
samplelist = list(df1, df2, df3)
# plotting the data
graph < - ggplot(bind_rows(samplelist, .id="data_frame"), 
                 aes(col1, col2, colour=data_frame)) +
geom_line()
  
# printing the graph
print(graph)

Output

[1] "First Dataframe"
> print(df1)
  col1       col2
1     1  2.6799001
2     2  1.6732359
3     3 -0.2821830
4     4  0.6951255
5     5  0.3629730
6     6  1.6543411
7     7  0.9301622
8     8  0.6858366
9     9  1.3150289
10   10 -0.9306804
> print("Second Dataframe")
[1] "Second Dataframe"
> print(df2)
 col1       col2
1    5 -0.1813050
2    6  1.3543525
3    7  0.0810269
4    8  0.1788353
5    9  1.5264921
6   10  0.3677910
> print("Third Dataframe")
[1] "Third Dataframe"
> print(df3)
  col1       col2
1     2 -1.0602057
2     3 -0.6040208
3     4  1.9346507
4     5  0.5183120
5     6  0.7176499
6     7  0.2908290
7     8  1.4760342
8     9  0.5935123
9    10  0.3882407
10   11  0.8871490
11   12 -0.3974801

Example 2:

R




# importing required libraries
library("dplyr")
library("ggplot2")
  
  
# creating the dataframes
df1 = data.frame(col1=c(1: 10), col2=letters[1:5])
df2 = data.frame(col1=c(7: 9), col2=letters[5:7])
df3 = data.frame(col1=c(1: 6), col2=rep('e', 6))
df4 = data.frame(col1=c(5, 9, 10), col2=c('x', 'm', 'n'))
  
print("First DataFrame")
print(df1)
  
print("Second DataFrame")
print(df2)
  
print("Third DataFrame")
print(df3)
  
print("Fourth DataFrame")
print(df4)
  
# creating a list of dataframes
samplelist = list(df1, df2, df3, df4)
  
# plotting the data
graph < - ggplot(bind_rows(samplelist, .id="data_frame"), 
                 aes(col1, col2, colour=data_frame)) +
geom_line()
  
# printing the graph
print(graph)

Output

[1] "First DataFrame"
> print(df1)
  col1 col2
1     1    a
2     2    b
3     3    c
4     4    d
5     5    e
6     6    a
7     7    b
8     8    c
9     9    d
10   10    e
> print ("Second DataFrame")
[1] "Second DataFrame"
> print(df2)
 col1 col2
1    7    e
2    8    f
3    9    g
> print ("Third DataFrame")
[1] "Third DataFrame"
> print(df3)
 col1 col2
1    1    e
2    2    e
3    3    e
4    4    e
5    5    e
6    6    e
> print ("Fourth DataFrame")
[1] "Fourth DataFrame"
> print(df4)
 col1 col2
1    5    x
2    9    m
3   10    n


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!