多年来的小线x轴

small line x-axis for years

我有超过 25 年的数据。数据集中超过 6300 天。我想在 x 轴上显示年份。

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")

图形如下所示:

我希望每年的 x 轴上有单行,而不是黑色大条。

现在我明白你的意思了。

处理这个问题的一种方法是创建两个时间序列,一个用于计算和绘制数据,另一个用于刻度线。像这样:

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") 

也可以有其他方法...