【问题标题】:x axis label in plot overlaps绘图中的 x 轴标签重叠
【发布时间】:2015-03-17 16:07:11
【问题描述】:

我在 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"))

【问题讨论】:

  • 嘿MMF,欢迎!您忘记添加数据,这有助于我们重现您的问题。阅读Tour,您将获得您的第一个徽章;)
  • 我收到此错误:输入无效:date_trans 仅适用于 Date 类的对象。我的日期只有年份和月份,例如:“2004-01”没有日子。是因为这个吗?
  • mergeddata$Date <- as.Date(paste(mergeddata$Date,"-01",sep="")) 在您开始使用 ggplot 之前添加此内容。它会将您的 Date 列转换为日期

标签: r plot ggplot2


【解决方案1】:

尝试使用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"))

【讨论】:

    猜你喜欢
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2014-04-30
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多