Если вы сделаете ваши данные похожими на это:
df2 <- structure(list(ID = c(1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), Year = c(2010L, 2010L, 2010L,
2010L, 2010L, 2010L, 2011L, 2011L, 2011L, 2010L, 2010L, 2010L,
2011L, 2011L, 2011L, 2012L, 2012L, 2012L), lbs = structure(c(1L,
3L, 2L, 1L, 3L, 2L, 1L, 3L, 2L, 1L, 3L, 2L, 1L, 3L, 2L, 1L, 3L,
2L), .Label = c("LabelOne", "LabelThree", "LabelTwo"), class = "factor"),
Value = c(1000L, 50L, 20L, 1000L, 50L, 20L, 1500L, 100L,
30L, 1000L, 50L, 20L, 1500L, 100L, 30L, 2000L, 150L, 40L)), class = "data.frame", row.names = c(NA,
-18L))
Вы можете анимировать более ID
вместо Year
, и он строится последовательно. Группа 1 - это 2010 год, группа 2 - это 2010 и 2011 годы, а группа 3 - это 2010, 2011 и 2012 годы
pp <- ggplot(df2, aes(Year, Value)) +
geom_bar(stat = "identity", aes(fill = lbs)) +
transition_states(ID,
transition_length = 4, state_length = 2) +
ease_aes('cubic-in-out')