如何使用多个数据框在 ggplot2 中创建绘图


您可以使用以下基本语法在 ggplot2 中使用多个数据框创建绘图:

 library (ggplot2)

ggplot() + 
  geom_line(data=df1, aes(x=x_var, y=y_var), color=' blue ') + 
  geom_line(data=df2, aes(x=x_var, y=y_var), color=' red ')

此特定示例使用来自两个不同数据帧的数据在 ggplot2 中的单个图中绘制多条线。

通过在geom()级别指定数据框名称,我们可以在单个图中包含来自多个数据框的数据。

以下示例展示了如何在实践中使用此语法。

示例:使用多个数据框在 ggplot2 中创建绘图

假设我们在 R 中有以下两个数据框,其中包含有关不同日期两个不同商店的总销售额的信息:

 #create first data frame
df1 <- data. frame (day=1:8,
                  sales=c(6, 8, 9, 14, 13, 13, 7, 10))

df1

  day sales
1 1 6
2 2 8
3 3 9
4 4 14
5 5 13
6 6 13
7 7 7
8 8 10

#create second data frame
df2 <- data. frame (day=1:8,
                  sales=c(2, 3, 3, 5, 7, 6, 5, 9))

df2

  day sales
1 1 2
2 2 3
3 3 3
4 4 5
5 5 7
6 6 6
7 7 5
8 8 9

我们可以使用以下语法在 ggplot2 中创建一个包含多行的绘图,以表示两个数据框中的商店销售额:

 library (ggplot2)

#create line plot using multiple data frames
ggplot() + 
  geom_line(data=df1, aes(x=day, y=sales), color=' steelblue ') + 
  geom_line(data=df2, aes(x=day, y=sales), color=' coral2 ') 

ggplot2 多个数据框

蓝线代表名为df1的数据块的值,红线代表名为df2的数据块的值。

请注意,此方法也适用于其他geom()函数。

例如,我们可以创建以下散点图来显示每个数据框中按商店列出的销售额:

 library (ggplot2)

#create scatter plot using multiple data frames
ggplot() + 
  geom_point(data=df1, aes(x=day, y=sales), color=' steelblue ') + 
  geom_point(data=df2, aes(x=day, y=sales), color=' coral2 ') 

蓝点代表名为df1的数据块的值,红点代表名为df2的数据块的值。

其他资源

以下教程解释了如何在 ggplot2 中执行其他常见任务:

如何在ggplot2中绘制多条线
如何更改ggplot2中的图例标签
如何更改ggplot2中的X轴标签

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注