【问题标题】:Dates on x-axis, time seriesx 轴上的日期,时间序列
【发布时间】:2015-08-13 06:58:50
【问题描述】:

我有超过 25 年的数据,我想在 x 轴上查看年份。

dates <- as.Date(Dollar[,1], "%d.%m.%Y") 
Dollar <- as.xts(Dollar[,2], dates)
plot(SWEDOLall, xaxt = "n", main="SMA", ann = FALSE)
axis.Date(side = 1, dates, at = labDates, format = "%y", labels = TRUE)
title(ylab = "Value")
title(xlab = "Time") 

但我的 x 轴是空白的。谁能看到我犯了什么错误?

【问题讨论】:

  • 您需要添加一个可重现的示例,即显示一些产生您所说的空白 x 轴的数据(不是全部)。
  • 可能您的at 值不在绘图范围内
  • 我认为这些值正在消失,因为日期变量在某种程度上被错误地缩放了。在下面的回答中,我将其转换为 Posix 日期,而只使用法线轴函数,它就可以工作了。

标签: r date plot time-series as.date


【解决方案1】:

我不得不扩充你的例子来获得一些可以玩的东西,但这里有一些可行的方法。我只是改变它以消除润滑......

library(xts)
d1 <- seq(as.Date("2001-01-01"),as.Date("2021-01-01"),"years")
d2 <- rnorm(21,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(dates),labels=format(dates,"%Y"))
title(ylab = "Value")
title(xlab = "Time") 

【讨论】:

  • 谢谢!有效! :) 而不是每年的小单行(就像你的图形那样),我的 x 轴下面只有一个大的黑条。你知道如何摆脱它吗?
  • 不,但一般来说,如果您需要对绘图进行更多控制,您最好学习如何使用 ggplot2。它更灵活,但学习曲线更高。您可能希望将新问题作为新帖子发布,但这次将其作为一个完整的示例,以便人们可以使用它。这样你会更快地得到答案。
猜你喜欢
  • 1970-01-01
  • 2013-07-21
  • 1970-01-01
  • 2015-05-02
  • 2014-06-02
  • 2021-08-21
  • 1970-01-01
  • 2021-10-14
  • 1970-01-01
相关资源
最近更新 更多