如何在 gganimate 中一次出现一个条形图

How to make one bar appear at a time in gganimate

我有一个简单的条形图。如何使条形图按顺序出现?换句话说,应该出现第一个栏。第二个条应该出现(第一个留在原处)。然后应该出现第三个栏(前两个应该留在原地)。

说我有这个 MWE:

library(ggplot2)
library(gganimate)

csv <- "水果,价值 苹果,60 岁 橙色,51 岁 西瓜,50

data <- read.csv(text=csv, header=TRUE)
ggplot(data, aes(fruit, value)) + 
    geom_bar(stat='identity') +
    transition_reveal(fruit)

这不起作用。我该怎么办?

您可以添加一列数字,以给出它们应出现的顺序:

data$fruit_order = 1:3

ggplot(data, aes(fruit, value)) + 
    geom_bar(stat='identity') +
    transition_reveal(fruit_order)

请运行以下代码以获得您想要的输出:

ggplot(data, aes(fruit, value)) + 
    geom_bar(stat='identity') + 
    transition_states(fruit, wrap = FALSE) + 
    shadow_mark(past = TRUE) +
    enter_grow()

希望这对您有所帮助。干杯。