条形图在日期时间轴上只有一个x值

时间:2016-05-26 12:25:47

标签: r ggplot2

参考下面的代码:

library(lubridate)
library(ggplot2)
df = data.frame(x=now(),y=1)
ggplot(data=df,aes(x,y)) +
  geom_bar(stat='identity')

抛出以下错误:

 Error in prettyDate(x = x, n = n, min.n = min.n, sep = sep, ...) : 
  range too small for 'min.n' 

在只有一个x值的时间刻度上处理条形图的合适方法是什么?

这是我的sessionInfo(),ggplot和lubridate刚刚通过install.packages(...)

更新到最新版本
R Under development (unstable) (2015-08-14 r69078)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.9.5 (Mavericks)

locale:
[1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] ggplot2_2.1.0   lubridate_1.5.6

loaded via a namespace (and not attached):
 [1] colorspace_1.2-6  scales_0.3.0.9000 plyr_1.8.3        magrittr_1.5      tools_3.3.0       gtable_0.1.2.9000 Rcpp_0.12.3      
 [8] stringi_1.0-1     grid_3.3.0        stringr_1.0.0     munsell_0.4.2 

1 个答案:

答案 0 :(得分:1)

尝试使用xas.character()强制转换为字符串,或者插入df,或者插入到{{1}的调用中}}。这将绕过ggplot通常倾向于将日期时间范围分成清晰的图形输出比例。所以你要使用:

aes()

或者,如果您不需要日期时间的时间部分,则可以使用ggplot(data=df,aes(as.character(x),y)) + geom_bar(stat='identity') 强制x到某个日期,ggplot会很乐意接受这个。

希望这会有所帮助!!