如何在一个情节中将rownames绘制为日期?

时间:2013-06-04 11:58:28

标签: r data-visualization

我正在使用rugarch包中的sp500ret数据:

library(rugarch)
data(sp500ret)

这是(至少我认为是这样)一个数据帧,它给出了回报。 rownames是日期。现在,我想绘制回报和日期,所以

plot(dates,sp500ret)

但当然,这不起作用,因为未指定日期,但我如何将rownames用作相应的日期?

注意:我不确定这一点,但我读了一些关于xts文件的内容。这是一个xts文件,如何在这种情况下绘制它?

编辑: 我想过这样的事情,但它不起作用:

plot(as.Date(rownames(sp500ret), "%Y%m%d"),sp500ret)

第二次编辑: plot(rownames(sp500ret),sp500ret[,1])也不起作用。

1 个答案:

答案 0 :(得分:2)

将rownames转换为如下日期:

library(rugarch)

data(sp500ret)

my.dates <- strptime(rownames(sp500ret), format="%Y-%m-%d")

plot(my.dates,sp500ret$SP500RET, xlab="Date", las=1, col="steelblue", pch=20)

# Or faster

plot(as.Date(rownames(sp500ret),"%Y-%m-%d"),sp500ret[,1])

Date plot

# To specify custom x-axis

par(mar=c(7, 4, 4, 2) + 0.1, bg="white", cex=1.5) # extend margin

plot(my.dates,sp500ret$SP500RET, xlab="", las=1, col="steelblue", pch=20, xaxt="n")

axis.Date(1, at=seq(my.dates[1], my.dates[length(my.dates)], "years"),
          labels=seq(my.dates[1], my.dates[length(my.dates)], "years"),
          format= "%Y-%m-%d", las=2)

Date plot with custom x-axis