假设我有一个1:12的数字向量,并希望在2013年1月到2013年12月的时间段内绘制它们。我使用以下代码生成数据和绘图:
dates<-seq(as.Date("2013/1/1"), by = "month", length.out = 12)
n<-seq(1:12)
df<-cbind(dates,n)
plot(df)
然而,最后一个代码出现了一些问题;首先,在第一个seq
中找不到一个选项,只生成没有一天的月份和年份。其次,即使在df
as.Date
之前添加dates
,cbind
中的所有日期也会变为连续日期。最后,由于最后两个问题,图中的x轴不是时间格式。
答案 0 :(得分:1)
df<-data.frame(dates=dates,n=n)
plot(df$dates, df$n, axes=FALSE)
axis(1, labels=format(df$dates, "%b %Y"), at=df$dates)
axis(2)
答案 1 :(得分:1)
只需使用
plot(dates,n)
没有绑定它。 cbind创建一个矩阵(参见class(df)
)。在此过程中,日期将保存为类数字。
使用
更好更容易定制绘图require(ggplot2)
qplot(dates,n) + xlab("") + ylab("my y lab")