很难用单词解释,所以请看下面的图片。我知道我可以按年分面,但这并不能实现我想要的目标。
这可能吗?
library(tidyverse)
library(lubridate)
set.seed(88)
start <- ymd("2009/11/01")
data <- data_frame(date = start + months(0:11)
, donuts = rnorm(12, mean = 30, sd = 5) %>% round(., 0)
, year = year(date)
, month = month(date, label =T, abbr =T)
)
ggplot(data = data, aes(x = date, y = donuts)) + geom_line()
最佳答案
您可以在刻面方面非常接近,
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")