我正在尝试使用 tmap 创建动画 GIF 并将其显示在我的 Shiny 应用程序中。当我将 tm_shape() + tm_polygons() 用于单个日期时,生成的图像总是可以的。但是,当我使用 tm_facets() 并将结果提供给 tmap_animation 时,生成的 GIF 具有随机的深绿色帧,如下所示。
这是我使用生成动画的代码:
data(World)
confirmed = read.csv('./data/time_series_covid_19_confirmed.csv', stringsAsFactors = T) %>%
select(-Province.State, -Country.Region) %>%
pivot_longer(!c('Lat', 'Long', 'iso3'), names_to = 'date', values_to = 'confirmed') %>%
mutate(date = as.Date(gsub('X', '', date), '%m.%d.%Y')) %>%
group_by(iso3, date) %>%
summarise(confirmed = sum(confirmed)) %>%
mutate(perc_change = 100 * ifelse(
lag(confirmed, default = 0) == 0 | confirmed < 1000 | lag(confirmed) > confirmed,
0,
(confirmed - lag(confirmed)) / lag(confirmed)
)
) %>%
inner_join(select(World, iso_a3, geometry), by=c('iso3' = 'iso_a3')) %>%
st_sf()
conf_anim = confirmed %>%
filter(date < '2020-02-28') %>%
tm_shape() + tm_polygons('perc_change', style='cont') +
# tm_fill('perc_change', palette='Blues', style='fixed',
# breaks=c(0, 5, 10, 15, 20, 25, 30, 35, 40, 45, Inf)) + tm_borders() +
tm_facets(along='date', free.coords = F)
tmap_animation(conf_anim, filename = './www/conf_anim.gif', delay=50)
任何人都知道我该如何解决这个问题?