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

问题描述 投票:0回答:1

我正在尝试使用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月至2011年1月,如here所示。

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

r ggplot2
1个回答
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轴混乱。