ggplot干净的方式来显示一年一次和小组月内?

时间:2017-02-10 02:52:22

标签: r ggplot2

难以解释使用单词,所以请看下面的图片。我知道我可以在一年之内完成任务,但这并不能实现我的目标。



这可能吗?
clean year-month

System.currentTimeMillis()

2 个答案:

答案 0 :(得分:1)

你可以与facetting非常接近,

dummy <- mutate(data[3,], date = date - 1L, year = year(date)) 
data <- rbind(data, dummy)

ggplot(data = data, aes(x = date, y = donuts, group=1)) + geom_line() +
  facet_grid(.~year, scale="free", space="free", switch = "x") +
  scale_x_date(date_breaks = "1 month", date_labels = "%b", expand = c(0,0)) +
  theme_minimal() + theme(panel.spacing.x = unit(0,"line"), 
                          strip.placement = "outside")

enter image description here

答案 1 :(得分:0)

如果有人不知道这样做的方式,你可以通过一些解决方法来做到这一点。从2009年11月到2010年10月,使月份成为有序因子。然后,您可以增加x轴标签下面的空间,并将2009和2010添加为文本。我想你可以在你的主题中用axis.ticks.length手动设置x轴刻度长度,使得2009年12月和2010年10月之后更长......