在R中修改x轴的日期格式?

4

我希望在R中改变图表的格式,只展示月份和年份,而不是包括日期。

使用我的数据和以下R代码:

plot(alvdate[1250:1600],c(NA,alvlloss)[1250:1600],type="l",lwd=1,main="",xlab="",ylab="log loss",cex.axis=1.2,cex.lab=1.2,xaxt="n")
axis.Date(1, at = seq(alvdate[1250], alvdate[1600], length.out=20),
        labels = seq(alvdate[1250], alvdate[1600], length.out=20),
        format= "%m/%y", las = 2)

我明白了。

这里输入图片描述

我理解 yyyy-mm-dd 的格式,但我想要的是 yyyy-mm,例如:

2008-01
2008-02

等等。我已经将格式设置为“%m/%y”,但这不起作用?

1个回答

6
你应该使用format="%Y-%m",来写出像这样的内容:
axis.Date(1, at = seq(alvdate[1250], alvdate[1600], length.out=20),
        format= "%Y-%m", las = 2)

谢谢,我会接受你的答案,但是你能告诉我一件事吗:2008年8月的价值不是这个月的第一天,而是18日?之前的价值是2008年7月28日,我用股票价格计算回报率。在2008年7月28日至8月18日期间没有股票价格。为什么?这是Allianz Xetra。 - Stat Tistician
抱歉,我不明白你的问题。你的问题是为什么Allianz Xetra股票在2008年7月28日至2008年8月18日期间没有报价吗? - agstudy
耶!我刚从雅虎财经下载了它并看到了这个。这在我的图表中是可见的。 - Stat Tistician
@StatTistician 很难在没有上下文的情况下说什么。你使用 quantmod 吗?你使用哪个行情名称 (^XXX)?我找不到 Allianz Xetra。 - agstudy
我打开http://de.finance.yahoo.com/,搜索Allianz SE (ALV.DE) - XETRA Ticker: 840400/ISIN: DE0008404005,然后点击历史价格并查找此时间段内的值。最终输出结果如下:2008年8月18日 109.22 110.87 108.29 109.50 1,691,000 93.292008年7月28日 108.49 108.49 106.09 107.00 2,508,000 91.16 - Stat Tistician
1
@StatTistician 我不知道为什么雅虎在这段时间内没有行情。你可以尝试另一个来源,比如谷歌。 - agstudy

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