在 gganimate 中标记日期
Labeling Dates In gganimate
假设我们有以下数据框:
> df
date number
1 9/1 1
2 9/2 2
3 9/3 3
4 9/4 4
5 9/5 5
,其中 'date' 列具有“month/date”格式。
根据这些数据,我想制作一个动画,在 x 轴的 'date' 列中具有相同的“month/date”格式。
但是,R 会抛出一条错误消息,指出 'date' 列必须是有限数。所以我删除了 'date' 列中的 '/' 现在它可以工作了(见附件
image) 使用以下代码:
df <- data.frame("date" = c(91, 92, 93, 94, 95), "number" = c(1,2,3,4,5))
p <- ggplot(df, aes(x = date, y = number, group =1)) +
geom_line() +
geom_point() +
transition_reveal(date)
p
但是,如何在动画的 x 轴上标记 'date' 列,使其保持“month/date”格式?
ggplot 可以处理日期,但它们必须是日期类型。否则,ggplot 无法正确显示它们。据我所知,没有年份没有日期的方法。但是,如果您的数据少于一年,ggplot 将不会显示年份,而只会显示月份和日期。这是一个例子:
library(ggplot2)
library(gganimate)
library(gifski)
df <- data.frame("date" = c(91, 92, 93, 94, 95), "number" = c(1,2,3,4,5))
df$date <- as.Date(c("2019-09-01", "2019-09-02", "2019-09-03", "2019-09-04", "2019-09-05"))
p <- ggplot(df, aes(x = date, y = number, group =1)) +
geom_line() +
geom_point() +
transition_reveal(date)
p
假设我们有以下数据框:
> df
date number
1 9/1 1
2 9/2 2
3 9/3 3
4 9/4 4
5 9/5 5
,其中 'date' 列具有“month/date”格式。
根据这些数据,我想制作一个动画,在 x 轴的 'date' 列中具有相同的“month/date”格式。
但是,R 会抛出一条错误消息,指出 'date' 列必须是有限数。所以我删除了 'date' 列中的 '/' 现在它可以工作了(见附件 image) 使用以下代码:
df <- data.frame("date" = c(91, 92, 93, 94, 95), "number" = c(1,2,3,4,5))
p <- ggplot(df, aes(x = date, y = number, group =1)) +
geom_line() +
geom_point() +
transition_reveal(date)
p
但是,如何在动画的 x 轴上标记 'date' 列,使其保持“month/date”格式?
ggplot 可以处理日期,但它们必须是日期类型。否则,ggplot 无法正确显示它们。据我所知,没有年份没有日期的方法。但是,如果您的数据少于一年,ggplot 将不会显示年份,而只会显示月份和日期。这是一个例子:
library(ggplot2)
library(gganimate)
library(gifski)
df <- data.frame("date" = c(91, 92, 93, 94, 95), "number" = c(1,2,3,4,5))
df$date <- as.Date(c("2019-09-01", "2019-09-02", "2019-09-03", "2019-09-04", "2019-09-05"))
p <- ggplot(df, aes(x = date, y = number, group =1)) +
geom_line() +
geom_point() +
transition_reveal(date)
p