设置rgl设备的大小

时间:2013-08-05 18:58:56

标签: r plot latex save rgl

我的rgl设备的全屏/非全屏问题。

目前我使用R 3.00

我将一个persp3d图(library rgl)绘制到我的设备中,它在一个非常小的窗口中打开:

R代码:

persp3d(x, y, z, theta=50, phi=25, expand=0.75, col=red,
        ticktype="detailed", xlab="", ylab="", zlab="",axes=FALSE)
axes3d(c('x--','z'))

axis3d(edge='y+-',at =c(1,500,1000,1500,2000,2320),
labels =rownames(fd)[c(1,500,1000,1500,2000,2320)])

看起来像这样:

sc

我现在将其旋转并将单个png文件保存到我的驱动器中。问题是,png文件太小了?我想使用LaTex和\animategraphics命令将它们放入一张纸中,但它是像素(不尖锐)。

如果我点击rgl设备中的全屏图标,以便R图更大,这确实有帮助,一切正常。问题是,周围有太多的空白区域。由于它的上方,下方,左侧和右侧的空白区域,我无法将其包含在LaTex中,因为它的大尺寸(宽度,高度)不适合。我有200个png文件,所以用油漆手动删除空白区域不是一件好事。

小图片看起来像这样:

sc11

如果放大,会发生以下情况(这就是LaTex的作用,当我把它放入我的论文时,它增加了图片,截图来自我的LaTex文件。相同的图片,角度略有不同,但问题是保持不变):

sc22

你看它看起来很像(不好)。此外,你已经可以看到白色空间太大的大文件的问题:上面有一些空白区域的小图片已经破坏了我的标题。

那么我怎么能解决这个问题呢?我怎么能告诉R使用全屏图,但周围没有那么多的空白区?当我点击全屏并保存这些图片时,除了周围的空白区域外,一切都很好。

这是png文件周围有太多的空白区域(在此屏幕截图中,下方没有空白区域,但是当我使用正确的缩放时,它就在那里):

sc2

还有一点需要注意:这是我用来保存png文件的R代码:

M <- par3d("userMatrix")
movie3d( spin3d(rpm=3), duration=20,dir="C:/test/movie", clean=FALSE )
play3d( spin3d(rpm=3), duration=20)

4 个答案:

答案 0 :(得分:4)

使用par3d(windowRect = c(20,30,800,800))

答案 1 :(得分:3)

您可以使用par3d检查RGL设备的状态。 “空白”由“windowRect”值控制。随着显示器尺寸的增加,这些值会自动增加;

> par3d("windowRect")
[1] 100 100 356 378
> par3d("windowRect")  # made the window have roughly 4 times the area
[1] 137   0 744 544

您还可以指定windowRect的角落。

?par3d

这应该为您提供控制,避免“空白问题和标题重叠。”

如果要在查看窗口中使对象更大,rgl.viewpoint功能可以缩放。较小的数字会使对象看起来更大。

rgl.viewpoint(  zoom = .5 )

答案 2 :(得分:0)

设置r3dDefaults就足够了:

r3dDefaults$windowRect <- c(0,50, 800, 800) 
plot3d(mdatapc, col=kmeanspc.cluster, size = 10)    

答案 3 :(得分:0)

我认为使用aspect3d()也可能会派上用场。

aspect3d(x=5, y=1 , z =1)
rgl.viewpoint(zoom = .5)