如何在 RStudio Viewer 中更改动画图 (gif) 的分辨率?

How to change the resolution of animated plots (gif) in RStudio Viewer?

我目前正在按照 this 教程学习使用 gganimate 库创建动画图。

但是我已经在为第一个动画苦苦挣扎了。虽然动画本身有效,但与网站上的示例相比,其分辨率有所降低。在 RStudio 中调整 'Viewer' 的大小不会更改 dimensions/resolution。绘制没有动画的图像 (plot(p)) 在 'Plots' 中创建一个与网站上的具有相同尺寸和分辨率的绘图。我需要为查看器调整一些设置吗?我正在研究 Windows 10,RStudio 版本 1.4.1717,R 版本 4.1.1。

来自我的查看器的动画:

来自网站的相同动画情节的外观:

创建上述动画情节的网站代码:

library(gganimate)
p <- ggplot(iris, aes(x = Petal.Width, y = Petal.Length)) + 
  geom_point()
anim <- p + 
  transition_states(Species,
                    transition_length = 2,
                    state_length = 1)
anim

我猜 gganimate 文章中显示的那些图是在 Linux 平台上创建的。 gganimate 默认使用 'png' 设备渲染单帧。

png() 在 windows 上,但是默认情况下使用 Windows GDI,而在 Linux 上不可用(使用 cairographics)。这(可能)是结果不同的原因。

请看我的相关回答 and

要在 Windows 上获得(或多或少)相同的输出,您可以这样做:

library(gganimate)
library(gifski)

p <- ggplot(iris, aes(x = Petal.Width, y = Petal.Length)) +
  geom_point()
anim <- p +
  transition_states(Species,
                    transition_length = 2,
                    state_length = 1)
myAnimation <- animate(anim, duration = 3.3, fps = 10, width = 1400, height = 865, renderer = gifski_renderer(), res = 200, type = "cairo")
anim_save("test.gif", animation = myAnimation)

在此上下文中,还要检查 this articlelibrary(ragg) 并设置 animate 的参数 device = 'ragg_png'