首页 > 解决方案 > R / ggplot2:不能用日期改变比例限制

问题描述

我正在尝试使用 更改基于日期的 x 轴的比例限制scale_x_continuous,但ggplot2不接受我的新限制。

例子::

mydata <- tibble::tibble(
    x = as.Date(c("2020-01-01", "2020-01-02", "2020-01-03", "2020-01-04", "2020-01-05")),
    y = 1:5
)

mydata_sub <- mydata[2:4,]

g <- ggplot2::ggplot(mydata_sub, ggplot2::aes(x = x, y = y)) +
    ggplot2::geom_point()

g <- g + ggplot2::scale_x_continuous(limits = c(min(mydata$x), max(mydata$x)))

print(g)

这会导致错误消息:

Error in as.Date.numeric(value) : 'origin' must be supplied

我使用了错误的scale_功能吗?

标签: rggplot2

解决方案


由于您的 x 轴是日期格式,您需要使用scale_x_date来操纵您的 x 轴:

library(ggplot2)
ggplot(mydata_sub, aes(x = x, y = y))+
  geom_point()+
  scale_x_date(limits = c(min(mydata$x), max(mydata$x)))

在此处输入图像描述


推荐阅读