用ggplot2为时间序列数据绘图

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

1. 示例数据集

library(TSA)
library(ggplot2)

data("larain")
class(larain)
plot(larain)

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

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

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

3. 绘图

larainStartdate = (as.Date(paste(larainStartdayVector[1],'-01-01',sep = '')) + larainStartdayVector[2]) - 1
larainEnddate = (as.Date(paste(larainEnddayVector[1],'-01-01',sep = '')) + larainEnddayVector[2]) - 1
seqMonths = seq(from=larainStartdate, to=larainEnddate, by="year")
larainData = data.frame(date=seqMonths,value=larainValue)    #ts数据转换成了data.Frame

ggplot(larainData,aes(x=date,y=value)) + geom_line()

你可能感兴趣的:(R语言,数据可视化)