1. 程式人生 > >用ggplot2為時間序列資料繪圖

用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()