如何在 R 中使用 ggplot2 绘制多个时间序列?
r programmingserver side programmingprogramming更新于 2025/6/27 8:07:17
对于某个时间点,我们可能有多个时间序列数据,例如多个城市的天气情况、多种产品的价格变化、不同地点的需求预期,或者任何随时间变化且针对多个事物或地点进行测量的数据。如果我们有此类时间序列数据,则需要将这些数据绘制在一个图中,这可以借助 ggplot2 包中的 geom_line 函数来完成。
示例
考虑以下数据框 −
> x1<-1:10 > y1<-rnorm(10) > df1<-data.frame(x1,y1) > df1
输出
x1 y1 1 1 -0.1165387 2 2 -0.9084062 3 3 0.4696637 4 4 1.5597274 5 5 -0.1101060 6 6 1.4060137 7 7 -0.8310496 8 8 -0.2272508 9 9 -0.2153751 10 10 0.9463936
示例
> x2<-1:10 > y2<-rnorm(10) > df2<-data.frame(x2,y2) > df2
输出
x2 y2 1 1 -1.0545341 2 2 0.3791710 3 3 -1.5611182 4 4 -1.1212776 5 5 -0.7441233 6 6 -0.5665797 7 7 -1.1247473 8 8 -0.3644471 9 9 0.8933615 10 10 0.8809048
示例
> x3<-1:10 > y3<-rnorm(10) > df3<-data.frame(x3,y3) > df3
输出
x3 y3 1 1 0.53114394 2 2 0.76319036 3 3 -0.09477086 4 4 0.54543062 5 5 1.57865385 6 6 -0.72168934 7 7 0.57577687 8 8 0.03108040 9 9 -0.97440541 10 10 -0.09145164
使用 ggplot2 为上述三个数据框创建单个时间序列图 −
> library(ggplot2) > ggplot(df1,aes(x1,y1))+geom_line(color="blue")+geom_line(aes(x2,y2),color="black")+ geom_line(aes(x3,y3),color="green")+xlab("Time")+ylab("Rate")