【发布时间】:2022-02-06 00:09:31
【问题描述】:
我正在尝试创建一个动画,其中一个对象被绘制同时逐渐改变它的颜色。为了便于说明,假设我要绘制的对象是一个圆圈。
我目前所拥有的
我创建了一个数据集,其中包含我的圆的坐标、一个time 变量和一个用于逐渐改变颜色的alpha 变量:
t = seq(-pi, pi, length.out = 30)
df <- data.frame(
x = sin(t),
y = cos(t),
time = 1:30,
alpha = seq(0.1, 1, length.out = 30)
)
然后我使用来自 {gganimate} 的transition_reveal() 来制作动画:
ggplot(df, aes(x = x, y = y)) +
geom_path() +
geom_polygon(aes(alpha = alpha), fill = 'grey30') +
coord_fixed() +
scale_alpha_identity() +
transition_reveal(time)
产生以下动画:
圆是按顺序绘制的(这是我想要的),但多边形的颜色没有改变。似乎只有df$alpha 的第一个值用于整个动画。
因此我的问题是如何更改此动画,以使圆圈仍按顺序绘制并且多边形的颜色逐渐变灰?
【问题讨论】: