如何正确绘制每月销售数据?

时间:2019-05-01 05:53:29

标签: r ggplot2

我正在尝试使用RStudio绘制月度销售数据,但是x轴上的日期显示不正确。

我的代码:-

uc_ts_plot <- ggplot(monthly_sales, aes(DATE,DAUTONSA)) + geom_line(na.rm=TRUE) + 
  xlab("Month") + ylab("Auto Sales in Thousands") + 
  scale_x_date(labels = date_format(format= "%b-%Y"),
               breaks = date_breaks("1 year")) + 
  stat_smooth(colour = "green")

uc_ts_plot

我希望x轴上的日期显示为2011年1月,2012年1月,如here所示。

我得到的只是x轴的左端为0001-01,右端为0002-01。

1 个答案:

答案 0 :(得分:1)

显示的图是在2011年至2018年之间过滤的,而您的数据来自1967年。

下面的代码生成精确的图

library(tidyverse)
library(scales)
library(lubridate)

monthly_sales %>%
  mutate(DATE = as.Date(DATE)) %>%
  filter(year(DATE) >= 2011 & year(DATE) < 2018) %>%
  ggplot() + aes(DATE,DAUTONSA) + 
  geom_line(na.rm=TRUE) + 
  xlab("Month") + ylab("Auto Sales in Thousands") + 
  scale_x_date(labels = date_format(format= "%b-%Y"),
               breaks = date_breaks("1 year")) + 
  stat_smooth(colour = "green")

enter image description here

您可以删除filter步骤以绘制所有年份的数据,但随后x轴上会出现很多标签,从而使混乱。