3

我需要一种方法来提高 saveHTML() 创建的 png 文件的分辨率。

这是我正在尝试执行的虚拟脚本,其中实际上 plot() 是许多嵌套循环:

x<-y<-rep(1,10)
saveHTML( for (i in 1:10){
plot.new()
plot.window(xlim=c(0,10),ylim=c(0,10))
plot(x[i],y[i])
}
,ani.dev="png",img.name="test",htmlfile="test")

我尝试过的几件事:1)使用 ani.options(ani.height,ani.width) 增加动画大小,但我只得到更大的颗粒状图像。2) 在 saveHTML 表达式中调用 png() 设备并在那里设置分辨率,但最终我没有得到任何数字。3) 调用一个新的 windows() 设备来绘制和设置窗口大小,但这同样不会增加分辨率。

我遇到的最直接的解决方法是使用 ffmpeg 创建高分辨率 png 和动画。但我还没有准备好重新编写我的脚本。

有没有人找到一种方法来增加 saveHTML() 函数中的 png 分辨率?

4

1 回答 1

1

除了传递ani.dev="png",您可以传递ani.dev = function(...){png(res=75*grain,...)},其中grain某个数字 > 1。如果您指定选项ani.height和/或ani.width将这些值乘以相同的因子grain,那么您可以通过该因子有效地提高输出的像素分辨率。

注意:上面的默认分辨率75可能取决于机器,我没有看到它记录在案。

于 2017-10-22T19:16:41.657 回答