小线x轴多年

时间:2015-05-30 17:27:32

标签: r plot time-series

我的数据涵盖了超过25年的时间。在数据集中超过6300天。我想在x-axix上展示这些年。

dates <- as.Date(DOL[,1], "%d.%m.%Y")
DOL <- as.xts(DOL[,2], dates)

plot(DOL, xaxt = "n", main="SMA", ann = FALSE)
axis(1, at=as.POSIXct(dates),labels=format(dates,"%Y"),tick=TRUE)
title(ylab = "Value")
title(xlab = "Time")

图表如下所示:

enter image description here

我希望每年在x轴上使用单行代替黑色大条。

1 个答案:

答案 0 :(得分:2)

现在我明白了你的意思。

处理此问题的一种方法是创建两个时间序列,并使用一个用于计算和绘制数据,另一个用于抽象标记。像这样:

library(xts)
n <- 1000
d1 <- seq(as.Date("2001-01-01"),as.Date("2021-01-01"),length.out=n)
d1y <- seq(as.Date("2001-01-01"),as.Date("2021-01-01"),length.out=21)
d2 <- rnorm(n,10,1)
Dollar <- data.frame(d1,d2)
dates <- as.Date(Dollar[,1], "%d.%m.%Y",tz="GMT") 
xtsplot <- as.xts(Dollar[,2], dates)
plot(xtsplot, xaxt = "n", main="SMA", ann = FALSE)
axis(1, at=as.POSIXct(d1y),labels=format(d1y,"%Y"))
title(ylab = "Value")
title(xlab = "Time") 

还有其他方法......

enter image description here