2012-01-02 88 views
3

从@DWin和@Ben Bolker,我们可以改变R中的scatter3d功能绘制“漂亮”(http://stackoverflow.com/questions/8204972/carscatter3d-in -r-labeling-axis-better),但是,保存图是一个棘手的问题。 rgl.snapshot将图像保存为PNG,但保存高分辨率图像(PDF)rgl.postscript必须使用。使用rgl.postscript不会保存为指定的字体/文本大小/尺寸轴的图像(I编辑的scatter3d函数来增加文本/轴尺寸)。 rgl.snapshot因为它应该那么为什么不rgl.postscript?有谁知道另一种保存方法,或者有没有办法用较大的文本/轴等保存绘图?rgl.postscript:保存而不改变文本文件大小

+1

你可以尝试安装R-锻造版('install.packages( “RGL”,回购=“HTTP://r-forge.r ?-project.org“),看看是否是有差别的日志在https://r-forge.r-project.org/scm/viewvc.php/pkg/?root=rgl&view=log说:'修订828 - 目录列表;修改周一6月6日17时19分04秒2011 UTC(6个月,3个月前)由默多克;在rgl.postscript calls'尊重字体大小和变化可能没有propaga(?) TED到CRAN版本... – 2012-01-02 15:22:46

+0

是的,这是非常有用的,但是,我相信它只适用于Windows或我只能让它在Windows上正常运行。 – Megan 2012-01-05 20:50:19

+0

这很有趣。我没有尝试在Windows上,仅在Linux(我可以试试在Mac上,如果这样做是有益的) – 2012-01-05 21:25:06

回答

1

一个简单的例子适用于我最近的版本rgl比CRAN(CRAN有0.92.798,r-forge现在有0.92.836,这是0.92.829)。它看起来像通过SVN版本编号的版本,所以这是一个在上述意见中提到的更新后...

library(rgl) 
set.seed(1001) 
n <- 20 
text3d(runif(n),runif(n),runif(n),LETTERS[1:n],cex=seq(0.5,5,length=n)) 
rgl.postscript(file="tmp.ps") 

然而,一个大的警告是生成的PS,PDF文件等。有点不习惯。边界框有点奇怪,尽管我可以手动进行文本编辑。 ps2pdfps2png错位吧.. epstopdf似乎已经奏效(这些是可在Linux系统的所有工具,不知道其他OS)。原则上rgl.postscript()允许您导出为PDF格式,但它可能很奇怪PDF ... StackOverflow无法识别文件是否处于有效的上传格式。

R Under development (unstable) (2012-01-01 r58032) 
Platform: i686-pc-linux-gnu (32-bit) 

[snip] 

other attached packages: 
[1] rgl_0.92.829 

enter image description here

+0

谢谢你的魔力!我一直在努力让这个工作正常,我非常接近。要制作一个scatter3d图,我必须绘制图然后添加:mtext3d,axes3d和axis3d。具有讽刺意味的是,我发现使用rgl.postscript并将其保存为pdf效果最好,这是出来的ps文件。我现在正在努力使分数的大小更大。我试图使用plot3d/points3d并将其添加到原始图,但失败了。有什么建议么? – Megan 2012-01-05 21:02:50

+0

嗯。 'plot3d(1:5,1:5,1:5,size = 20)'为我提供了很大的丑陋广场。 'spheres3d(1:5,1:5,1:5,radius = 0.3)'给出了很好的闪亮球体(如果你有数千个点要绘制,你就不会想要使用球体,它们的计算密集程度比丑陋的正方形)。 – 2012-01-05 21:40:54

+0

不幸的是,当我将它保存为PDF格式时,您网站上的scatter3d函数的编辑版本对我而言不起作用(文本大小/点大小)。 – Megan 2012-01-09 14:54:58