Как сделать так, чтобы точки в gganimate появлялись, а не переходили - PullRequest
1 голос
/ 02 июня 2019

Я использую gganimate.Скажем, у меня есть MWE:

library(ggplot2)
library(gganimate)
ggplot(airquality, aes(Day, Temp)) +
    geom_point(color = 'red', size = 1) +
    transition_time(Month) +
    shadow_mark(colour = 'black', size = 0.75)

У меня один вопрос: как я могу сделать так, чтобы новые точки выглядели просто так, а не переходили от старых?Другими словами, я просто хочу, чтобы новые точки появлялись в их окончательном месте и не имели перехода.Как мне изменить код?

1 Ответ

1 голос
/ 02 июня 2019

Переходы в конечном итоге привязаны к каждой точке данных group.В вашем коде все точки данных Дня 1 совместно используют группу, поэтому они появляются из старых.

Присвойте точкам свою группу (например, с помощью group = interaction(Month, Day)), и она должна работать.

a <- ggplot(airquality, aes(Day, Temp, 
                            group = interaction(Month, Day))) +
  geom_point(color = 'red', size = 1) +
  transition_time(Month) +
  shadow_mark(colour = 'black', size = 0.75) +
  enter_fade()  # I liked the look of this, but fine to leave out
animate(a, nframes = 100)

enter image description here

...