图中的 x 轴标签重叠

x axis label in plot overlaps

我绘制了一个词 "shopping" 的搜索量时间序列图,该图在 2004 年 1 月至 2014 年 12 月期间已去季节性化。然而,我的 x 轴上的日期显示了我的所有月份数据和它重叠看起来很乱。如何将其转换为仅显示的年份?

这是我的代码:

ggplot(data=mergeddata, aes(x=Date, y=ShoppingDeseason, group=1)) + 
  geom_line(colour="red", size=1) + xlab("Date [Year]") + 
  ylab("ShoppingDeseason [SearchVolume]") +
  ggtitle("Search Volume on Shopping from 2004 to 2014") + 
  theme(axis.text.x=element_text(size=20,angle=90, face="bold"),
        axis.text.y=element_text(size=20, face="bold"),
        axis.title=element_text(size=22,face="bold"))

尝试使用scale_x_date():

# Generate Random data
mergeddata <- data.frame(Date = seq(as.Date('2004-01-01'),as.Date('2014-12-31'),by = "month"),
                         ShoppingDeseason = sample(20, 132, replace=TRUE))

ggplot(data=mergeddata, aes(x=Date, y=ShoppingDeseason, group=1)) + 
  geom_line(colour="red", size=1) + xlab("Date [Year]") + 
  ylab("ShoppingDeseason [SearchVolume]") +
  ggtitle("Search Volume on Shopping from 2004 to 2014") + 
  theme(axis.text.x=element_text(size=20,angle=90, face="bold"),
        axis.text.y=element_text(size=20, face="bold"),
        axis.title=element_text(size=22,face="bold")) +
  scale_x_date(labels = date_format("%Y"), breaks = date_breaks("year"))