根据生成的日期序列绘制矢量

时间:2014-11-07 13:38:30

标签: r date seq

假设我有一个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之前添加datescbind中的所有日期也会变为连续日期。最后,由于最后两个问题,图中的x轴不是时间格式。

2 个答案:

答案 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))。在此过程中,日期将保存为类数字。

enter image description here

使用

更好更容易定制绘图
require(ggplot2)
qplot(dates,n) + xlab("") + ylab("my y lab")

enter image description here