我的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)])
看起来像这样:
我现在将其旋转并将单个png文件保存到我的驱动器中。问题是,png文件太小了?我想使用LaTex和\animategraphics
命令将它们放入一张纸中,但它是像素(不尖锐)。
如果我点击rgl设备中的全屏图标,以便R图更大,这确实有帮助,一切正常。问题是,周围有太多的空白区域。由于它的上方,下方,左侧和右侧的空白区域,我无法将其包含在LaTex中,因为它的大尺寸(宽度,高度)不适合。我有200个png文件,所以用油漆手动删除空白区域不是一件好事。
小图片看起来像这样:
如果放大,会发生以下情况(这就是LaTex的作用,当我把它放入我的论文时,它增加了图片,截图来自我的LaTex文件。相同的图片,角度略有不同,但问题是保持不变):
你看它看起来很像(不好)。此外,你已经可以看到白色空间太大的大文件的问题:上面有一些空白区域的小图片已经破坏了我的标题。
那么我怎么能解决这个问题呢?我怎么能告诉R使用全屏图,但周围没有那么多的空白区?当我点击全屏并保存这些图片时,除了周围的空白区域外,一切都很好。
这是png文件周围有太多的空白区域(在此屏幕截图中,下方没有空白区域,但是当我使用正确的缩放时,它就在那里):
还有一点需要注意:这是我用来保存png文件的R代码:
M <- par3d("userMatrix")
movie3d( spin3d(rpm=3), duration=20,dir="C:/test/movie", clean=FALSE )
play3d( spin3d(rpm=3), duration=20)
答案 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)