如何使用 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")
输出
广告