R ggplot2:时间轴上的标签到每月垃圾箱

R ggplot2: labels on time axis to monthly bins

我正在尝试调整 ggplot 标记轴的方式。我的代码是:

x = as.POSIXct(c(1, 9999999), origin="1970-01-01 00:00:00 CET")
y = c(1,2)
df = data.frame(x=x, y=y)
ggplot()+
geom_line(data = df, aes(y=y, x=x))

并产生以下输出:

我认为在月中放置标签、去掉月中网格线等等会很直观……有点像这样:

这可以用 ggplot2 完成吗?

这是一个非常 的解决方案,但它是一个选项。我不认为 label on minor breaks only 是可能的,所以要执行您要查找的操作,您需要在主要中断处添加标签,用空格(或制表符)偏移标签,然后隐藏次要中断面板行,像这样:

ggplot()+
  geom_line(data = df, aes(y=y, x=x)) +
  scale_x_datetime(date_breaks = "1 month", date_labels=paste0("                                                     ","%b")) +
  theme(panel.grid.minor = element_blank())