使用 ggplot scale_x_datetime() 在 x 轴上设置第一个日期
Using ggplot scale_x_datetime() to set first date on x axis
我有两年的水位图。我有一列日期时间(格式为 POSIXct 并显示为 2020-03-05 17:00:00)。数据框中有 18,000 行数据。第一条记录是 2020 年 3 月 5 日。当我绘制数据时,x 轴上出现的第一个日期是 Jul-20。我如何制作这个 3 月 20 日?
这是我目前拥有的与这部分情节设计相关的代码。
scale_x_datetime(
date_breaks="6 months",
date_labels="%b-%y")
这是情节的一个例子。
注意:这也是正在进行的数据收集的一部分,因此我不想对最后日期进行硬编码。
scale_x_date(breaks = seq(as.Date("2020-03-05"), as.Date(Sys.Date( )), by = "6 months"), date_labels="%b-%y")
library(ggplot2)
dat <- data.frame(date = seq(as.Date("2020-03-05 17:00:00",
format = "%Y-%m-%d %H:%M:%S"),
as.Date("2022-03-05 17:00:00",
format = "%Y-%m-%d %H:%M:%S"),
length=18000))
dat$x <- rnorm(18000)
dat$date <- as.POSIXct(dat$date)
ggplot(dat, aes(x=date, y=x)) +
geom_line() +
theme_classic() +
scale_x_datetime(breaks= seq(min(dat$date), max(dat$date), length=6),
date_labels="%b-%y")
由 reprex package (v2.0.1)
于 2022-05-03 创建
我有两年的水位图。我有一列日期时间(格式为 POSIXct 并显示为 2020-03-05 17:00:00)。数据框中有 18,000 行数据。第一条记录是 2020 年 3 月 5 日。当我绘制数据时,x 轴上出现的第一个日期是 Jul-20。我如何制作这个 3 月 20 日?
这是我目前拥有的与这部分情节设计相关的代码。
scale_x_datetime(
date_breaks="6 months",
date_labels="%b-%y")
这是情节的一个例子。
注意:这也是正在进行的数据收集的一部分,因此我不想对最后日期进行硬编码。
scale_x_date(breaks = seq(as.Date("2020-03-05"), as.Date(Sys.Date( )), by = "6 months"), date_labels="%b-%y")
library(ggplot2)
dat <- data.frame(date = seq(as.Date("2020-03-05 17:00:00",
format = "%Y-%m-%d %H:%M:%S"),
as.Date("2022-03-05 17:00:00",
format = "%Y-%m-%d %H:%M:%S"),
length=18000))
dat$x <- rnorm(18000)
dat$date <- as.POSIXct(dat$date)
ggplot(dat, aes(x=date, y=x)) +
geom_line() +
theme_classic() +
scale_x_datetime(breaks= seq(min(dat$date), max(dat$date), length=6),
date_labels="%b-%y")
由 reprex package (v2.0.1)
于 2022-05-03 创建