Это именно то, что вы просите сделать функцию.
Три месяца, три тика.
> d[1]
[1] "2001-01-01"
> d[100]
[1] "2001-03-11"
Попробуйте это.
r=runif(100)
d <- as.Date("2001/1/1") + 70*sort(r)
plot(d,r,type="l",xaxt="n")
axis.Date(1, at = seq(d[1], d[100], length.out=25),
labels = seq(d[1], d[100], length.out=25),
format= "%m/%d/%Y", las = 2)
Он должен быть легко настроен на неделю / месяц / год. Вы можете играть с параметром mar
в ?par
.