如何在R中制作动画,显示具有不同仓大小的直方图



我想使用gganimate(),但找不到可行的解决方案。

我最终成功地创建了一些东西——使用animation包。我可以创建GIF和视频输出,但都没有我希望的那么流畅或好。

输出非常不稳定——如果我想使用基本的"hist"函数显示20个不同的中断,动画只显示其中的一半左右。您可以看到GIF在所有#个bin中进行迭代,但图并没有为每一步更新。

这是我代码的GIF输出。

library('ggplot2')
library('animation')
psd_1 <- data.frame(rnorm(5000, 100, 15))
colnames(psd_1)[1] <- "passengers"
ani.options(interval=.25, nmax=20)
a = saveGIF(
{
for (i in c(1:20)) {
hist(psd_1$passengers, breaks=i, main=paste("Histogram with ",i, " bins"),
xlab="Total Passengers")
}
}
, movie.name="wodies.gif")

正如我在评论中提到的,如果将单个数字传递给breaks=,则不能保证中断次数,这只是一个建议。如果要设置一个精确的数字,则需要传入一个打断向量。你可以做

a = saveGIF(
{
for (i in c(1:20)) {
hist(psd_1$passengers, 
breaks=seq(min(psd_1$passengers), max(psd_1$passengers), length.out=i), 
main=paste("Histogram with ",i, " bins"), 
xlab = "Total Passengers")  }
}
, movie.name = "wodies.gif")

最新更新