如何使用 R 中的 ggplot2 绘制多重时间序列?


对于一个时间点,我们可能有多个时间序列数据,这可能是多个城市的的天气、多个产品的价格变动、不同地点的需求预期,或任何随时间变化且针对多个事物或地点进行衡量的数据。如果我们有此类时间序列数据,那么我们需要在单一绘图中绘制该数据,而这可以通过 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")

输出

更新于: 2020 年 9 月 4 日

1000+ 次浏览

启动您的 职业

取得认证方法是完成课程

开始
广告