使用不断变化的 shapefile(只有 4 个不同的 shapefile)动画地图挂起

Animating maps with changing shapefiles (only 4 different shapefiles) hangs

我正在尝试制作美国边界每年增长的动画。虽然我能够快速生成每个单独的图,但当我尝试创建动画地图(无进度条)时,即使帧数很少,动画也会挂起。

这是一些包含 4 个日期的示例代码,关于如何生成动画有什么想法吗?

    library(USAboundaries)
    library(dplyr)
    library(ggplot2)
    library(gganimate)
    
    dates <- seq(as.Date("1783-09-03"), as.Date("2000-12-31"), by="years")
    dates <- dates[c(1,29, 52, 75)]
    maps <- lapply(dates, function(date) {
      map <- us_states(map_date = date, resolution = "high")
      map$year <- date
      map
    }) %>%
      bind_rows() %>%
      select(id_num, terr_type, state_code, geometry, year, name)
    # Generating all the maps at once works just fine
    all_maps <- ggplot() +
      geom_sf(data = maps)
    all_maps
    # Animating maps hangs once its called
    animated_map <- ggplot() +
      geom_sf(data = maps) +
      transition_states(
        year,
        transition_length = 2,
        state_length = 1
      )
    animated_map

您可以使用 transition_manual。在您的 maps

上试试这个
animated_map <- ggplot() +
  geom_sf(data = maps) +
  transition_manual(year)

animate(animated_map, renderer = gifski_renderer())

请注意,我使用的是 gifski 包中的 gifski_renderer()。如果您可以完全访问默认位置,则可能不需要它。您会得到以下输出: