[关闭]
@K1999 2016-07-06T16:12:04.000000Z 字数 764 阅读 1439

用ggplot2为时间序列绘图

R 数据可视化


在R中用ggplot()函数为时间序列类型的数据绘图时,发现ggplot()无法识别ts类型的数据,这时候就可以先将时间序列类型拆成数据框类型然后在绘图。具体方法如下:

1. 示例数据集

  1. library(TSA)
  2. library(ggplot2)
  3. data("larain")
  4. class(larain)
  5. plot(larain)

TSA包中自带的larain数据集记录了从1878年开始的洛杉矶年降水量。

2. 获取ts类型数据的开始、结束时间以及数据内容

  1. # 获得ts数据类型的开始、结束时间以及数据内容
  2. larainStartdayVector = start(larain) #获得开始日期
  3. larainEnddayVector = end(larain) #获得结束日期
  4. larainValue = larain[1:length(larain)] #获得数据

3. 绘图

  1. larainStartdate = (as.Date(paste(larainStartdayVector[1],'-01-01',sep = '')) + larainStartdayVector[2]) - 1
  2. larainEnddate = (as.Date(paste(larainEnddayVector[1],'-01-01',sep = '')) + larainEnddayVector[2]) - 1
  3. seqMonths = seq(from=larainStartdate, to=larainEnddate, by="year")
  4. larainData = data.frame(date=seqMonths,value=larainValue) #ts数据转换成了data.Frame
  5. ggplot(larainData,aes(x=date,y=value)) + geom_line()
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注