【问题标题】:Changing annotations in time series plots in R在 R 中更改时间序列图中的注释
【发布时间】:2010-11-26 19:40:15
【问题描述】:

虽然我可以使用通用绘图命令关闭轴和 注释并使用轴命令再次指定它们,例如

cars <- c(1, 3, 6, 4, 9)

plot(cars, type="o", col="blue", ylim=range(0, cars), axes=FALSE, ann=FALSE)  
axis(1, at=1:5, lab=c("Mon","Tue","Wed","Thu","Fri"))

我不能用时间序列对象来做到这一点,例如

www <- "http://www.massey.ac.nz/~pscowper/ts/Maine.dat"  
Maine.month <- read.table(www, header = TRUE)  
attach(Maine.month)  
Maine.month.ts <- ts(unemploy, start = c(1996, 1), freq = 12)  
Maine.98 <- window(Maine.month.ts, start = c(1998,1), end = c(1998,11))

我如何绘制带有如下注释的Maine.98

"Jan-98"   "Feb-98"   "Mar-98"   "Apr-98"   "May-98"  etc?

【问题讨论】:

    标签: r annotations plot time-series


    【解决方案1】:

    您发现时间序列的 ts 类型适用于 ARIMA 建模和具有固定 'delta t' 的序列,例如每月或每季度的序列。

    但是 R 通常擅长处理日期。尝试将数据保存在 data.frame 中,但将 x 轴数据转换为 DatePOSIXt 类型。 plot() 将调用一个知道时间的轴格式化函数,您可以获得更好的默认值,您仍然可以覆盖。

    使用包zooxts 更好,它们可以让您获得额外的控制权以及花里胡哨的功能:

     > X <- data.frame(x=seq(Sys.Date()-11*31,Sys.Date(),by="1 months"),  
                        y=cumsum(rnorm(12)))
     > plot(X)                   # plot as a data.frame with Date column
     > library(zoo)
     > plot(zoo(X[,-1], X[,1]))  # plot as a zoo object
     > library(xts)
     > plot(xts(X[,-1], X[,1]))  # plot as an xts object
    

    编辑:我忘记了,如果您的数据已经是 ts 对象,那么您可以使用更简单的转换器 as.zoo()as.xts()plot.zoo 帮助页面有自定义时间轴格式的示例。

    【讨论】:

    • 谢谢。我不知道“seq”中的“by”接受“1个月”之类的字符串。帮助中在哪里引用?除了几个月,还有哪些时间间隔可以使用?
    • 在这种情况下,seqDate 类对象上调度到的'seq.Date'。
    【解决方案2】:

    只是补充一下 Dirk 所说的话:

    一旦您使用了正确的日期类型(Date 或 POSIXt),您就可以使用 format() 命令来选择您希望它在绘图中的显示方式:

    > format(seq(Sys.Date()-11*31,Sys.Date(),by="1 months"), "%b-%y")
     [1] "Oct-08" "Nov-08" "Dec-08" "Jan-09" "Feb-09" "Mar-09" "Apr-09" "May-09"
     [9] "Jun-09" "Jul-09" "Aug-09" "Sep-09"
    

    有关格式化选项的更多示例,请查看 strptime 的帮助。

    ?strptime
    

    【讨论】:

      猜你喜欢
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      • 2021-09-10
      • 2020-09-14
      • 2019-08-12
      • 1970-01-01
      • 2013-05-08
      • 2011-03-14
      相关资源
      最近更新 更多