R语言 如何用ggplot2创建一个有多条线的图

R语言 如何用ggplot2创建一个有多条线的图

在这篇文章中,我们将讨论如何在R编程语言中使用ggplot2创建一个有多条线的图。

方法1:使用geom_line()函数

在这种方法中,用户需要首先在R控制台中安装并导入ggplot2软件包,然后在组合中调用ggplot()和geom_line()函数,并设置相应的参数,因为ggplot()函数将帮助创建绘图,geom_line()函数将帮助创建线条,当geom_line()函数被多次调用时,多个数据将返回多个线条到ggplot中。

geom_line()函数: 该函数用于连接按x值排序的观测值。

语法: geom_line(mapping = NULL, data = NULL, stat = “identity”, position = “identity”, …)

例子

在这个例子中,我们将使用R编程语言中ggplot2包中的geom_line函数在一个简单的ggplot上画出五条不同数据和不同颜色的线。

library("ggplot2") 
  
  
gfg_data <- data.frame(x = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
                   y1 = c(1.1, 2.4, 3.5, 4.1, 5.9, 6.7, 
                          7.1, 8.3, 9.4, 10.0),
                   y2 = c(7, 5, 1, 7, 4, 9, 2, 3, 1, 4),
                   y3 = c(5, 6, 4, 5, 1, 8, 7, 4, 5, 4),
                   y4 = c(1, 4, 8, 9, 6, 1, 1, 8, 9, 1),
                   y5 = c(1, 1, 1, 3, 3, 7, 7, 10, 10, 10))
  
gfg_plot <- ggplot(gfg_data, aes(x)) +  
    geom_line(aes(y = y1), color = "black") +
     geom_line(aes(y = y2), color = "red") +
    geom_line(aes(y = y3), color = "green") +
    geom_line(aes(y = y4), color = "blue") +
    geom_line(aes(y = y5), color = "purple")
gfg_plot

输出

如何在R语言中用ggplot2创建一个有多条线的图?

方法2:使用reshape2包

在这个方法中,为了创建一个有多条线的ggplot,用户需要首先在R控制台中安装和导入reshape2包,并调用melt()函数,用所需的参数将给定的数据格式化为长数据形式,然后使用ggplot()函数绘制格式化后的数据的ggplot。

要在R控制台中安装和导入reshape2包,用户需要遵循以下语法。

install.packages("reshape2 ")      
library("reshape2 ")

melt()函数: 这是通用的熔化函数。有关不同数据结构的细节,请参见下面的函数。

语法: melt(data, …, na.rm = FALSE, value.name = “value”)

参数。

  • data。要熔化的数据集
  • …: 传递给其他方法或来自其他方法的进一步参数。
  • na.rm。是否应该从数据集中删除NA值?这将把显性缺失转换为隐性缺失。
  • value.name:用于存储数值的变量的名称

例子: 在这个例子中,我们将使用ggplot()函数在一个简单的ggplot上用不同的数据和不同的颜色绘制五条多线,并将数据修改为R编程语言中reshape包的长数据格式。

library("reshape2")  
  
  
gfg_data <- data.frame(x = c(1,2,3,4,5,6,7,8,9,10),
                   y1 = c(1.1,2.4,3.5,4.1,5.9,6.7,
                          7.1,8.3,9.4,10.0),
                   y2 = c(7,5,1,7,4,9,2,3,1,4),
                   y3 = c(5,6,4,5,1,8,7,4,5,4),
                   y4 = c(1,4,8,9,6,1,1,8,9,1),
                   y5 = c(1,1,1,3,3,7,7,10,10,10))
  
data_long <- melt(gfg_data, id = "x")
gfg_plot <- ggplot(data_long,            
               aes(x = x,
                   y = value,
                   color = variable)) +  geom_line()
gfg_plot

输出

如何在R语言中用ggplot2创建一个有多条线的图?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程