【发布时间】: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(星期一)将是第一个标签,除非您使用自定义比例。