浏览代码

Render files individually

- Can get first/last frames
- Only render frames once so faster
master
父节点
当前提交
92a6ddb471
共有 1 个文件被更改,包括 64 次插入28 次删除
  1. +64
    -28
      R/02_population-animations.R

+ 64
- 28
R/02_population-animations.R 查看文件

@@ -71,20 +71,33 @@ ga <-
gganimate::enter_fade()
}

grkmisc::logger(msg = "Creating pop bar frames")
ga_files <-
animate(ga,
width = 2080, height = 960, res = 144, fps = 25, nframes = 161,
renderer = file_renderer(here::here(ANIM_OUT, "frames"), "pop-anim", overwrite = TRUE))

first_last <- first_last_new <- ga_files[c(1, length(ga_files))]
first_last_new[1] <- sub("\\d+\\.png", "_first.png", first_last[1])
first_last_new[2] <- sub("\\d+\\.png", "_last.png", first_last[2])
fs::file_copy(first_last, fs::path(ANIM_OUT, fs::path_file(first_last_new)), overwrite = TRUE)

grkmisc::logger(msg = "Writing MP4 population bar animation")
anim_save(
av::av_encode_video(
ga_files,
here::here(ANIM_OUT, "pop-anim.mp4"),
animate(ga, width = 1040*2, height = 480*2, res = 144,
fps = 20, nframes = 161*2, renderer = av_renderer())
verbose = TRUE
)

grkmisc::logger(msg = "Writing gif population bar animation")
anim_save(
gifski::gifski(
ga_files,
here::here(ANIM_OUT, "pop-anim.gif"),
animate(ga, width = 1040*2, height = 480*2, res = 144,
fps = 20, nframes = 161*2,
renderer = gganimate::gifski_renderer(loop = FALSE))
width = 2080, height = 960, delay = 1/18, loop = FALSE
)

unlink(ga_files)

pop %>%
bind_rows() %>%
mutate(age_group_int = as.integer(Age) %/% 5) %>%
@@ -137,19 +150,31 @@ ga_elder_dep <-
gganimate::transition_states(Year, 1, 0, FALSE) +
gganimate::shadow_mark()

grkmisc::logger(msg = "Creating elder dep frames")
ga_elder_dep_files <-
animate(ga_elder_dep,
width = 2080, height = 960, res = 144, fps = 25, nframes = 161,
renderer = file_renderer(here::here(ANIM_OUT, "frames"), "pop-dependency", overwrite = TRUE))

first_last <- first_last_new <- ga_elder_dep_files[c(1, length(ga_elder_dep_files))]
first_last_new[1] <- sub("\\d+\\.png", "_first.png", first_last[1])
first_last_new[2] <- sub("\\d+\\.png", "_last.png", first_last[2])
fs::file_copy(first_last, fs::path(ANIM_OUT, fs::path_file(first_last_new)), overwrite = TRUE)

grkmisc::logger(msg = "Writing mp4 elder dependency animation")
anim_save(
here::here(ANIM_OUT, "pop-dependency.mp4"),
animate(ga_elder_dep, width = 1040*2, height = 480*2, res = 144,
fps = 18, nframes = 161, renderer = av_renderer())
av::av_encode_video(
ga_elder_dep_files,
output = here::here(ANIM_OUT, "pop-dependency.mp4"),
verbose = TRUE
)

grkmisc::logger(msg = "Writing gif elder dependency animation")
anim_save(
gifski::gifski(
ga_elder_dep_files,
here::here(ANIM_OUT, "pop-dependency.gif"),
animate(ga_elder_dep, width = 1040*2, height = 480*2, res = 144,
fps = 18, nframes = 161,
renderer = gganimate::gifski_renderer(loop = FALSE))
width = 2080, height = 960, delay = 1/25, loop = FALSE
)
unlink(ga_elder_dep_files)

elder_dep_together <-
elder_dependency %>%
@@ -160,10 +185,9 @@ elder_dep_together <-

ga_dep_together <-
ggplot(elder_dep_together) +
aes(Year, ratio) +
geom_point(color = "#00589a") +
# geom_point(color = "#82c878") +
# geom_point(data = filter(., Year == 2018), size = 4, color = "#eb1455") +
aes(Year, ratio, group = Year) +
geom_point(aes(color = paste(timeseries)), show.legend = FALSE) +
scale_color_manual(values = c("#00589a", "#82c878")) +
labs(y = "Dependency Ratio", x = NULL) +
theme_minimal(base_size = 24, base_family = "Fira Sans Condensed") +
scale_y_continuous(labels = scales::percent) +
@@ -172,17 +196,29 @@ ga_dep_together <-
gganimate::ease_aes("sine-in-out")+
gganimate::shadow_mark()

grkmisc::logger(msg = "Creating all dependency frames")
ga_dep_together_files <-
animate(ga_dep_together,
width = 2080, height = 960, res = 144, fps = 25, nframes = 161,
renderer = file_renderer(here::here(ANIM_OUT, "frames"), "pop-dependency-both", overwrite = TRUE))

first_last <- first_last_new <- ga_dep_together_files[c(1, length(ga_dep_together_files))]
first_last_new[1] <- sub("\\d+\\.png", "_first.png", first_last[1])
first_last_new[2] <- sub("\\d+\\.png", "_last.png", first_last[2])
fs::file_copy(first_last, fs::path(ANIM_OUT, fs::path_file(first_last_new)), overwrite = TRUE)

grkmisc::logger(msg = "Writing mp4 all dependency animation")
anim_save(
here::here(ANIM_OUT, "pop-dependency-both.mp4"),
animate(ga_dep_together, width = 1040*2, height = 480*2, res = 144,
fps = 18, nframes = 80,
renderer = av_renderer())
av::av_encode_video(
ga_dep_together_files,
output = here::here(ANIM_OUT, "pop-dependency-both.mp4"),
verbose = TRUE
)

grkmisc::logger(msg = "Writing gif all dependency animation")
anim_save(
gifski::gifski(
ga_dep_together_files,
here::here(ANIM_OUT, "pop-dependency-both.gif"),
animate(ga_dep_together, width = 1040*2, height = 480*2, res = 144,
fps = 18, nframes = 80,
renderer = gganimate::gifski_renderer(loop = FALSE))
width = 2080, height = 960, delay = 1/25, loop = FALSE
)

unlink(ga_dep_together_files)

正在加载...
取消
保存