2012-01-02 89 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