如何提高gif图像的分辨率?

时间:2013-01-23 12:12:32

标签: linux r gif rgl

如何提高r的rgl包(plot3d和movie3d函数)生成的gif图像的分辨率 - 从外部还是通过R?

R代码:

MyX<-rnorm(10,5,1)
MyY<-rnorm(10,5,1)
MyZ<-rnorm(10,5,1)
plot3d(MyX, MyY, MyZ, xlab="X", ylab="Y", zlab="Z", type="s", box=T, axes=F)
text3d(MyX, MyY, MyZ, text=c(1:10), cex=5, adj=1)
movie3d(spin3d(axis = c(0, 0, 1), rpm = 4), duration=15, movie="TestMovie",
                                                type="gif", dir=("~/Desktop"))

输出:

Output更新

在代码开头添加此行解决了问题

r3dDefaults$windowRect <- c(0, 100, 1400, 1400) 

1 个答案:

答案 0 :(得分:2)

我认为你不能对gif本身的分辨率做很多事情。我认为你必须将图像作为替代品放大,然后当你将它显示得更小时看起来更好。这是未经测试的,因为最近的升级对我来说打破了一两件事,但这确实在2.15下工作:

par3d(windowRect = c(0, 0, 500, 500)) # make the window large
par3d(zoom = 1.1) # larger values make the image smaller

# you can test your settings interactively at this point

M <- par3d("userMatrix") # save your settings to pass to the movie

movie3d(par3dinterp(userMatrix=list(M,
    rotate3d(M, pi, 1, 0, 0), 
    rotate3d(M, pi, 0, 1, 0) ) ), 
    duration = 5, fps = 50,
    movie = "MyMovie")

HTH。如果它不适合您,请查看使用的功能并调整设置。