如何为这个折线图制作动画
How to animate this line graph
我有这个折线图 我使用 ggplot
创建了这个图 p
用于创建情节的代码如下
p <- ggplot(teleco,aes(x = tenure, color = Churn))+ geom_freqpoly(size=2)+theme_minimal()
但是我想知道如何最好地制作动画。我希望线条逐渐填充。但是我已经尝试过这个但它不起作用,因为我相信我没有时间。
p + transition_reveal(tenure)
当我 运行 这段代码时,它是这样通过的。让它动画化的最佳方法是让线条像在静态图中一样填充?
我的猜测(很难用 MRE 肯定地说)是不需要的行为来自使用 geom_polygon
.
您可以尝试手动对数据进行分组,然后使用 geom_line
。像
teleco %>%
group_by(tenure, Churn) %>%
summarise(count = n(), .groups = 'drop') %>%
ggplot(aes(tenure, count, col = Churn)) +
geom_line(size = 2)
这是一个可重现的工作示例,显示了 x 轴上的绘图线条。我建议尝试 geom_line
而不是 geom_freqpoly
让你的例子工作。
library(datasets)
library(dplyr)
library(ggplot2)
library(gganimate)
aq <- datasets::airquality
ggplot(data = aq, aes(Day, Ozone, col = as.factor(Month))) +
geom_line(size = 2) +
transition_reveal(Day)
我有这个折线图 我使用 ggplot
用于创建情节的代码如下
p <- ggplot(teleco,aes(x = tenure, color = Churn))+ geom_freqpoly(size=2)+theme_minimal()
但是我想知道如何最好地制作动画。我希望线条逐渐填充。但是我已经尝试过这个但它不起作用,因为我相信我没有时间。
p + transition_reveal(tenure)
当我 运行 这段代码时,它是这样通过的。让它动画化的最佳方法是让线条像在静态图中一样填充?
我的猜测(很难用 MRE 肯定地说)是不需要的行为来自使用 geom_polygon
.
您可以尝试手动对数据进行分组,然后使用 geom_line
。像
teleco %>%
group_by(tenure, Churn) %>%
summarise(count = n(), .groups = 'drop') %>%
ggplot(aes(tenure, count, col = Churn)) +
geom_line(size = 2)
这是一个可重现的工作示例,显示了 x 轴上的绘图线条。我建议尝试 geom_line
而不是 geom_freqpoly
让你的例子工作。
library(datasets)
library(dplyr)
library(ggplot2)
library(gganimate)
aq <- datasets::airquality
ggplot(data = aq, aes(Day, Ozone, col = as.factor(Month))) +
geom_line(size = 2) +
transition_reveal(Day)