【问题标题】:R - ggplot scale_x_date incorrect dates in graphR - ggplot scale_x_date 图中日期不正确
【发布时间】:2019-06-17 12:37:48
【问题描述】:

我使用以下代码在 R 中创建了图形:

x <- data.frame(
  "date" = seq(Sys.Date()-120, Sys.Date(), "weeks"), 
  "amount" = seq(1:18),
  stringsAsFactors = F)

library(ggplot2)

ggplot(x, aes(x=date, y=amount)) + 
  geom_bar(stat = "identity") +
  scale_x_date(date_breaks = "1 week", date_labels = "%d-%m-%y")

一切都很好,除了我的数据框从日期 2019-02-17 开始但图表从日期 2019-02-11 开始(图表末尾的类似问题)。如何使我的图表从正确的日期(2019-02-17)开始?

【问题讨论】:

  • 您可以使用geom_col() 而不是geom_bar(stat = "identity")。一般规则是当值已经存在于数据中时使用geom_col(),就像它们在您的数据中一样。此外,在可视化时间序列数据时为什么不使用geom_line()?另一个问题似乎是您想使用星期日作为一周的开始。默认情况下,scale_x_date()date_breaks = "1 week" 使用星期一作为一周的开始,因此 2019-02-18(星期一)将是第一个标签,除非您使用自定义比例。

标签: r ggplot2


【解决方案1】:

这可能对你有用:

ggplot(x, aes(x=date, y=amount)) + 
  geom_bar(stat = "identity") +
  scale_x_date(date_breaks = "1 week", date_labels = "%d-%m-%y", expand = c(0,0))

ggplot'填充'您的数据以显示原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多