scale_x_date使得情节从4月开始,而不是1月份的ggplot

时间:2018-02-23 01:03:16

标签: r ggplot2 scale

我目前正在ggplot2创建时间趋势图。我使用scale_x_date()函数创建了6个月的date_breaks并且每隔6个月对其进行标注,但图表x轴从4月开始,而不是1月。

library(lubridate)
library(stats)
library(ggplot2)

dates <- seq.Date(mdy("01-01-2013"), mdy("01-01-2017"), by = "month")
value <- rnorm(length(dates))
data <- cbind.data.frame(dates, value)

plot <- ggplot(data, aes(x = dates, y = value)) +
  geom_point() +
  scale_x_date(date_breaks = "6 months",
               date_labels = "%b\n%Y")

输出x轴从4月开始。

enter image description here

我还尝试添加expand = c(0,0)

plot <- ggplot(data, aes(x = dates, y = value)) +
  geom_point() +
  scale_x_date(date_breaks = "6 months",
               date_labels = "%b\n%Y",
               expand = c(0,0))

但结果是: The Jan is right on the x-axis.

请指教!

1 个答案:

答案 0 :(得分:2)

在您的代码中,日期和cdates之间存在错误。那怎么样:

ggplot(data, aes(x = cdates, y = value)) +
   geom_point() +
 scale_x_date(breaks = seq(as.Date("2013-01-01"), as.Date("2017-01-01"), by="6 months"), date_labels = "%b\n%Y")