如何使用多个数据框在 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 ')
蓝线代表名为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 中执行其他常见任务: