如何提高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"))
输出:
的更新
在代码开头添加此行解决了问题
r3dDefaults$windowRect <- c(0, 100, 1400, 1400)
答案 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。如果它不适合您,请查看使用的功能并调整设置。