Easing defines how a value change to another during tweening. Will it
progress linearly, or maybe start slowly and then build up momentum. In
gganimate
, each aesthetic or computed variable can be tweened with
individual easing functions using the ease_aes()
function. All easing
functions implemented in tweenr
are available, see tweenr::display_ease
for an overview. Setting an ease for x
and/or y
will also affect the
other related positional aesthetics (e.g. xmin
, yend
, etc).
ease_aes(default = "linear", ...)
The default easing function to use (defaults to 'linear'
)
Override easing for specific aesthetics
quadratic Models a power-of-2 function
cubic Models a power-of-3 function
quartic Models a power-of-4 function
quintic Models a power-of-5 function
sine Models a sine function
circular Models a pi/2 circle arc
exponential Models an exponential function
elastic Models an elastic release of energy
back Models a pullback and relase
bounce Models the bouncing of a ball
Modifiers
-in The easing function is applied as-is
-out The easing function is applied in reverse
-in-out The first half of the transition it is applied as-is, while in the last half it is reversed
anim <- ggplot(mtcars, aes(mpg, disp)) +
transition_states(gear, transition_length = 2, state_length = 1) +
enter_fade() +
exit_fade()
if (FALSE) {
# Default uses linear easing
animate(anim)
}
# Change all to 'cubic-in-out' for a smoother appearance
anim1 <- anim +
ease_aes('cubic-in-out')
if (FALSE) {
animate(anim1)
}
# Only change easing of y variables
anim2 <- anim +
ease_aes(y = 'bounce-in')
if (FALSE) {
animate(anim2)
}