I'm trying to create an animation where an object is drawn whilst gradually changing its colour. For illustrative purposes assume that the object I want to draw is a circle.
What I have so far
I create a dataset that contains the coordinates of my circle, a time
variable and a alpha
variable for gradually changing the colour:
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)
)
Then I use transition_reveal()
from {gganimate} to make the animation:
ggplot(df, aes(x = x, y = y)) +
geom_path() +
geom_polygon(aes(alpha = alpha), fill = 'grey30') +
coord_fixed() +
scale_alpha_identity() +
transition_reveal(time)
Which yields the following animation:
The circle is drawn sequentially (which is what I want), but the colour of the polygon does not change. It appears that only the first value of df$alpha
is used for the whole animation.
My question is thus how can I change this animation such that the circle is still drawn sequentially AND the colour of the polygon gradually becomes greyer?