9

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

目前我使用 R 3.00

我在我的设备中绘制了一个 persp3d 图(库 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

4 回答 4

7

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

于 2016-08-02T13:58:40.743 回答
6

您可以使用 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 )
于 2013-08-05T19:14:36.937 回答
2

设置 r3dDefaults 就足够了:

r3dDefaults$windowRect <- c(0,50, 800, 800) 
plot3d(mdatapc, col=kmeanspc.cluster, size = 10)    
于 2016-05-27T20:15:39.080 回答
1

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

aspect3d(x=5, y=1 , z =1)
rgl.viewpoint(zoom = .5)
于 2020-11-06T16:31:27.510 回答