首页 > 解决方案 > gganimate 与 geom_area 结合使用时无法正常工作

问题描述

我想gganimate使用geom_area2000 年到 2050 年之间的不同值来为 ggplot 设置动画。但是,由于某种原因,如果我包括view_zoom保持 y 轴固定并沿 x 轴缩小前 50 帧左右它在值 1999.95 和 2000.05 之间放大,对于最后 50 帧,它显示 x 轴的整个范围(从 2000 年到 2050 年)。我该如何解决这个问题,以便它逐渐缩小,直到最后显示 x 轴的整个范围?

library(gganimate)
library(tidyverse)

gif_data <-
  tibble(year = as.numeric(2000:2050),
         value = as.numeric(seq(0.5, 0.3, length.out = 51)))

gif <-
  ggplot(gif_data,
         aes(x = year,
             y = value)) +
  geom_area() +
  transition_reveal(year) +
  ggtitle('Frame {frame} of {nframes}') +
  view_zoom(fixed_y = TRUE)

animate(gif,
        fps = 10,
        duration = 10,
        height = 337.5,
        width = 600,
        units = "px",
        res = 50,
        renderer = gifski_renderer()) 

anim_save("~/Desktop/gif.gif",
          animation = last_animation())

示例 gif

标签: rgganimategeom-area

解决方案


推荐阅读