在R中绘制x轴为“年份”-“月份”的时间序列图。

17

我有一个"每月数据",想要绘制数据,并使得横轴上的日期格式为%Y-%m" (2001-01)。假设我的数据是pcp <- rnorm(24)

我已尝试:

PCP <- ts(pcp, frequency = 12, start = 2001)
plot(PCP) 

但这个图的x轴仅显示了年份。

我该如何在x轴上获得我想要的日期格式?


我撤回了关闭投票,但请付出一些努力使问题具有可重现性。pcp是什么? - Tyler Rinker
这个问题与我之前的问题不同,这里我问的是关于绘图的,如何使x轴包括月份而不仅仅是年份。 - mms
1
我是新来的这个网站,如果没有选中复选框,我很抱歉,我不知道它是用来做什么的,所以谢谢您指出这一点。 - mms
我有一个问题,我正在尝试绘制大多伦多地区的地图,我已经绘制了加拿大地图,但无法绘制某些县的地图,请帮忙。 - mms
我已经使用了以下代码: map('county', 'Ontario', interior=TRUE) map.scale() map.axes() 但是它没有起作用。 - mms
显示剩余2条评论
3个回答

16

由于问题不可再现,这里提供一个玩具数据的想法。希望它能有所帮助。

R> foo = ts(rnorm(36), frequency = 12, start = 2001)
R> plot(foo, xaxt = "n")
R> tsp = attributes(foo)$tsp
R> dates = seq(as.Date("2001-01-01"), by = "month", along = foo)
R> axis(1, at = seq(tsp[1], tsp[2], along = foo), labels = format(dates, "%Y-%m"))

输出

使用与您的数据相似的ggplot版本

R> df = data.frame(date = seq(as.POSIXct("2001-01-01"), by = "month", length.out = 36), pcp = rnorm(36))
R> library(ggplot2)
R> library(scales)
R> p = ggplot(data = df, aes(x = date, y = pcp)) + geom_line()
R> p + scale_x_datetime(labels = date_format("%Y-%m"), breaks = date_breaks("months")) + theme(axis.text.x = element_text(angle = 45))

在此输入图片描述


12

我发现优秀的xts包是存储数据的最佳方式。如果你没有它,可以使用install.packages('xts')下载。

让我们从基础开始,包括创建pcp,因为你还没有提供它。

require(xts)
pcp <- rnorm(24)
PCP <- ts(pcp, frequency = 12, start = 2001)
plot(as.xts(PCP), major.format = "%Y-%m")

这将给您提供类似以下的图表。您可以通过更改传递给major.format的字符串来调整日期。例如,"%b-%y"将以Jan-01格式显示2001年1月的日期。

示例图


还要注意,R-Forge上的xtsExtra包对xts对象的绘图有一些改进。 - Joshua Ulrich

3
最好的方法是使用 axis.POSIXct {graphics} 函数。以下是该函数帮助文档中的示例:
with(beaver1, {
time <- strptime(paste(1990, day, time %/% 100, time %% 100),
                 "%Y %j %H %M")
plot(time, temp, type = "l") # axis at 4-hour intervals.
# now label every hour on the time axis
plot(time, temp, type = "l", xaxt = "n")
r <- as.POSIXct(round(range(time), "hours"))
axis.POSIXct(1, at = seq(r[1], r[2], by = "hour"), format = "%H")
})

针对您的情况,请将格式更改为format="%Y-%m"

祝好,


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接