绘制;添加自己的x轴不起作用

时间:2015-06-01 05:29:13

标签: r plot time-series

我想绘制时间序列数据。为了说明x-asis上的日期,我首先删除轴上的值,然后在正确的日期添加我的axsis:

set.seed(1)
r <- rnorm(20,0,1)
z <- c(1,1,1,1,1,-1,-1,-1,1,-1,1,1,1,-1,1,1,-1,-1,1,-1)
data <- as.data.frame(na.omit(cbind(z, r)))
series1 <- ts(cumsum(c(1,data[,2]*data[,1])))
series2 <- ts(cumsum(c(1,data[,2])))
d1y <- seq(as.Date("1991-01-01"),as.Date("2015-01-01"),length.out=24)

plot_strategy <- function(series1, series2, currency)
  {x11()
 matplot(cbind(series1, series2), xaxt = "n", xlab = "Time", 
         ylab = "Value", col = 1:3, ann = TRUE, type = 'l', 
         lty = 1)
 axis(1, at=as.POSIXct(d1y),labels=format(d1y,"%Y"))
 title(ylab = "Value")
 title(xlab = "Time")

 legend(x = "topleft", legend = c("TR", "BA"),
        lty = 1,col = 1:3)
 dev.copy2pdf(file= currency, width = 11.69, height = 8.27)}

plot_strategy(series1, series2,
              currency= "all.pdf")

然而,新的x轴并没有出现。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

set.seed(1)
r <- rnorm(20,0,1)
z <- c(1,1,1,1,1,-1,-1,-1,1,-1,1,1,1,-1,1,1,-1,-1,1,-1)
data <- as.data.frame(na.omit(cbind(z, r)))
series1 <- ts(cumsum(c(1,data[,2]*data[,1])))
series2 <- ts(cumsum(c(1,data[,2])))
d1y <- seq(as.Date("1991-01-01"),as.Date("2015-01-01"),length.out=24)

matplot(cbind(series1, series2), xaxt = "n", xlab = "Time", 
        ylab = "Value", col = 1:3, ann = TRUE, type = 'l',  
        lty = 1)
axis(1, at=seq(2,20,2), labels=format(d1y[seq(2,20,2)],"%Y"))

enter image description here