Как анимировать geom_polygon в R с помощью gganimate? - PullRequest
1 голос
/ 03 октября 2019

У меня возникли проблемы с использованием пакета gganimate для анимации geom_polygon из США, который я создал с помощью ggplot. У меня есть следующие данные, которые я извлек из CDC Wonder:

enter image description here

Я могу создать статический график geom_polygon со следующим кодом:

ggplot(data = Joined_data,mapping = aes(x = long,y = lat,group = group,fill = 
Percent_increase))+
  geom_polygon()+
  facet_grid(Joined_data$Ten.Year.Age.Groups ~ Joined_data$Year)+
  scale_fill_gradient(low = "blue",high = "red",na.value = "transparent")+
  labs(fill = "% increase from 1999")

Что приводит к следующему графику:

enter image description here

Который явно слишком занят. Поэтому я хочу анимировать его годами и просто использовать facet_wrap для каждой возрастной группы. Поэтому я использую следующий код:

ggplot(data = Joined_data,mapping = aes(x = long,y = lat,group = group,fill = 
Percent_increase))+
  geom_polygon()+
  facet_grid(Joined_data$Ten.Year.Age.Groups)+
  transition_time(Year)+
  scale_fill_gradient(low = "blue",high = "red",na.value = "transparent")+
  labs(fill = "% increase from 1999")

Однако я получаю следующую ошибку и не могу найти ни одного примера в stackoverflow с такой же ошибкой:

Error in from[[1]] : subscript out of bounds

Я думаю, что это можетсвязано с отсутствующими данными. Я пытался извлечь данные за 1999 год и использовать только возрастную группу с полными данными, но я все еще получаю ту же ошибку выше. Любая помощь или направление на полезный пример приветствуется.

AT

1 Ответ

0 голосов
/ 04 октября 2019

(здесь пока не комментируете) Вы видели функцию tmap_animation(), основанную на карте с использованием tm_facets()?

См., Например: https://geocompr.robinlovelace.net/adv-map.html#animated-maps - не решение gganimate, но оно должно работать.

...