Как я могу сделать так, чтобы столбцы в этом ggplot появлялись с gganimate? - PullRequest
1 голос
/ 23 января 2020

Я новичок ie с R, но у меня есть немного времени, и я пробую кое-что. Что мне больше всего нравится, так это анимация графиков / графиков, поэтому я пытаюсь это сделать. Я хочу создать сюжет, где вы можете сравнить сезон двух разных спортивных команд. График правильно показывает выигрыши и проигрыши, когда я не добавляю анимации, но как только я что-то пробую, он начинает действовать странно.

Мой анимированный сюжет на данный момент

Вот мой код:

#Libraries
library(ggplot2)
library(gganimate)
library(gifski)
library(png)

#Data
gameNumber <- c(1,2,3,1,2,3)
team <- c("PBJ", "PBJ", "PBJ", "KFC", "KFC", "KFC")
teamWonTheGame <- c(TRUE, FALSE, TRUE, TRUE, FALSE, FALSE)
runsEarned <- c(3, 4, 2, 10, 4, 6)
runsAllowed <- c(0, 5, 1, 3, 8, 12)
runDifference <- runsEarned-runsAllowed

mydata <- data.frame(gameNumber, team, runDifference)

#Main Plot
plot <- ggplot(mydata, aes(x=gameNumber, y=runDifference, fill=teamWonTheGame)) + 
  geom_bar(stat = "Identity") +
  ylab("Difference in Points") +
  xlab("Game No.") +
  ggtitle("Results for the Season") +
  scale_fill_manual(name="Outcome",
                    values = c("TRUE" = "green", "FALSE" = "red"),
                    breaks=c("TRUE", "FALSE"),
                    labels=c("Win", "Loss")) 

#correct plot without animation
plot + facet_wrap( ~ team, ncol=1) + 
  theme(panel.grid.minor.x=element_blank(), panel.grid.major.x=element_blank())

#incorrect plot with animation
plot + facet_wrap( ~ team, ncol=1) + 
  theme(panel.grid.minor.x=element_blank(), panel.grid.major.x=element_blank()) +
  transition_reveal(gameNumber)

Как я могу заставить бары «расти» из середины (y = 0), а не влетать сбоку? Я был бы счастлив, если бы они просто появлялись и не «росли», но по возможности это было бы круто. Кроме того, я могу остановить анимацию после одного полного цикла? Или это всегда l oop?

...