R GG不显示所有帧的动画
我想制作一个包含138个州的简单gif。我不需要在每个状态之间进行任何奇特的转换,但我确实需要每个状态都出现在我的gif中。目前,正在缩短我的gif,没有显示最后30个州 例子R GG不显示所有帧的动画,r,animated-gif,gganimate,R,Animated Gif,Gganimate,我想制作一个包含138个州的简单gif。我不需要在每个状态之间进行任何奇特的转换,但我确实需要每个状态都出现在我的gif中。目前,正在缩短我的gif,没有显示最后30个州 例子 我如何才能使这项工作正常,使每个所需状态都显示,例如0.25秒?看起来您被帧采样咬到了。从?设置动画: 长度和帧率取决于渲染时间,可以是nframes、fps和duration的任意两种组合 渲染以离散时间单位进行。这意味着任何 动画中的事件四舍五入到最近的帧(例如。 输入将始终使用整数帧)。这意味着 仅渲染少数帧时,
我如何才能使这项工作正常,使每个所需状态都显示,例如0.25秒?看起来您被帧采样咬到了。从
?设置动画:
长度和帧率取决于渲染时间,可以是nframes、fps和duration的任意两种组合
渲染以离散时间单位进行。这意味着任何
动画中的事件四舍五入到最近的帧(例如。
输入将始终使用整数帧)。这意味着
仅渲染少数帧时,舍入瑕疵是可能的
为了避免这种情况,可以增加detail参数。细节会变得更详细
乘以nframes,得到的帧数将
已计算,但仅渲染等间距的N帧
确保打印每个状态的简单解决方案是设置detail
>1。通常detail=fps
将保证使用每个帧
制作动画(
plot=p,
nframes=长度(唯一(df$DT)),
细节=8,
fps=8,
结束暂停=8
)
正如《过渡手册》中所述,正是您所需要的:
此转换允许您将数据中的变量映射到动画中的特定帧。不会对数据进行二次加密,动画中的帧数将由帧变量中的级别数决定
请注意我在下面使用transition\u manual()
和labs()
所做的操作
库(tidyverse)
库(gganimate)
df你是如何发布动画GIF的?当你尝试时,在你发布之前它看起来像是一个静止的帧,还是一直以动画的形式出现?不,我有点挣扎:)我一直粘贴png
,而不是gif
!不能从rstudio查看器复制和粘贴,否则只能复制一帧。您需要在本地保存为gif
(在新窗口中打开,在浏览器中打开gif,然后ctrl+s
),然后上载文件。它看起来很生动。绝对比增加细节更优雅!很好,谢谢!(虽然我会选择labs(title='ScrapeDT:{current_frame}')
)oml,谢谢@Ben!我做了一个完整的项目,不知道lol的语法。编辑我的答案,我肯定会使用current\u frame
more;)。
df <- lapply(1:138, function(t){
data.frame(
DT = as.POSIXct("2019-01-01 12:00:00", tz = "UTC") + t*24*60*60,
x = seq(-3, 3, length.out = 100),
y = t * seq(-3, 3, length.out = 100)
)
})
df <- do.call(rbind, df)
range(df$DT) # "2019-01-02 12:00:00 UTC" "2019-05-19 12:00:00 UTC"
p <- ggplot(data = df, mapping = aes(x = x, y = y)) +
geom_point()+
transition_states(states = DT, transition_length = 0, state_length = 1)+
labs(title = 'ScrapeDT: {previous_state}')
p
animate(
plot = p,
nframes = length(unique(df$DT)),
fps = 8,
end_pause = 8
)