【发布时间】:2014-07-29 12:18:58
【问题描述】:
根据日期绘制一些值,例如
01/31/1996 -7.3667
02/29/1996 0.9413
03/31/1996 9.3252
04/30/1996 0.3147
05/31/1996 8.8593
06/30/1996 10.0297
07/31/1996 0.64i3
08/31/1996 2.1397
09/30/1996 0.6759
10/31/1996 -1.5579
11/30/1996 2.9493
.... ....
goes on till 2012 Nov
在 R lattice 中使用条形图,我得到了一个外观合理的图形,但 x 轴上的标签都被挤在一起,看起来就像一个巨大的文本球。我认为它以文字形式从上面输出每个日期,并试图将其全部放入空间中,但我真正想要的是 4 年或 5 个刻度标记增量,例如 4 年
1996 20000 2004 2008 2012
均匀分布
我不确定这些日期是如何解释的,因此仅使用 tick.marks=5 或 scales=list(x=list(at=seq(1996,2012,4) ) 不起作用。我还尝试了跟随,但刻度线不均匀(有时是 4 年,有时是 5 年),并不真正对应实际数据的确切位置。
> df <- data.frame(x=paste0(rep(1996:2012, each=12), paste0("Q", 1:12)), y=1:204)
> x.tick.number <- 10
> x.tick.number <- 8
> at <- seq(1, nrow(df), length.out=x.tick.number)
> labels <- round(seq(1996, 2012, length.out=x.tick.number))
> barchart(V3~V1, data = differences,col=c("green3"),origin=0,box.ratio=40, lty=0,reference=TRUE,stack=TRUE,main ="testing",ylab = list("values", cex=1.3), xlab = list
("dates",cex=1.3),par.settings=list (axis.text=list(cex=1.5), axis.line = list(lwd=3)),scales=list(y=list(tick.number=8, rot=90 ), x=list(at=at, labels=labels)))
还有其他建议吗?此外,我在 y 轴上有从 -25 到 20 的日期范围,刻度线以 5 为增量,但我希望每个刻度线中有 5 个较小的刻度线。我该如何控制这个。谢谢。
【问题讨论】: