library(gganimate)
を使用するときに、状態間の遷移速度を遅くしたい。
ここに小さな例があります:
_# devtools::install_github("thomasp85/gganimate")
library(gganimate) # v0.9.9.9999
dat_sim <- function(t_state, d_state) {
data.frame(
x = runif(1000, 0, 1),
y = runif(1000, 0, 1),
t_state = t_state*d_state
)
}
dat <- purrr::map_df(1:100, ~ dat_sim(., 1))
ggplot(dat, aes(x, y)) +
geom_hex(bins = 5) +
theme_void() +
lims(x = c(.3, .7),
y = c(.3, .7)) +
theme(legend.position = "none") +
transition_time(t_state)
_
私の理想的な行動ははるかに遅い(10-100x)ので、色の変化は徐々に進化し、誰も発作を起こしません。
より手動で制御するためにtransition_states()
を使用しようとすると、フレームがほとんど空白のgifが表示されます。 _transition_legnth=
_と_state_length=
_のさまざまな組み合わせを試しましたが、目立った効果はありません。
_ggplot(dat, aes(x, y)) +
geom_hex(bins = 5) +
theme_void() +
lims(x = c(.3, .7),
y = c(.3, .7)) +
theme(legend.position = "none") +
transition_states(t_state, transition_length = .1, state_length = 2)
_
私は docsanimate
関数にあり、fpsおよびをとることができますdetailパラメータ。
@ paramfpsアニメーションのフレームレート(フレーム/秒)
@ paramdetailフレームごとに計算する追加フレームの数
結果:
p <- ggplot(dat, aes(x, y)) +
geom_hex(bins = 5) +
theme_void() +
lims(x = c(.3, .7),
y = c(.3, .7)) +
theme(legend.position = "none") +
transition_time(t_state)
animate(p, fps=1)
png、jpeg、svgなどの出力形式も指定できます。