2015-01-05 19 views
-2

我是R和bio3d的新手,並且一直無法找到我的問題的答案。我試圖找到一種方法來保存由bio3d(一個R包)生成的圖/圖。到目前爲止,我必須手動點擊保存,因爲圖形出現時,我已經嘗試了許多R語言的變體來保存圖形,導致沒有保存的文件或無法打開的小文件。任何人都可以給我一些指點嗎?如何保存來自bio3d生成的quatrz的圖表(R包)

+0

你用R和pdf設備搜索問題嗎? –

+0

另外?石英頁面還介紹了'quartz.save'功能。 –

+0

可能重複的[如何將圖像保存爲磁盤上的圖像?](http://stackoverflow.com/questions/7144118/how-to-save-a-plot-as-image-on-the-disk) –

回答

1

在R腳本,你可以用下面的線嘗試:

pdf('nameoftheplot.pdf', width=..., height=...) 

然後,你可以寫R-代碼生成您的情節,並在結束時,你應該添加最後一行:

dev.off() 

選擇所有行並使用cmd + R(Windows)或cmd + enter(OS X)運行它們。帶圖的輸出pdf文件應位於當前工作目錄中。希望這可以工作。

編輯:如果你想有一個PNG文件作爲輸出你有更換的第一行:

png('nameoftheplot.pdf', width=..., height=..., res=...) 

EDIT2:例:

pdf("firstplot.pdf", width=6, height=3) 
qplot(carat, data = diamonds, geom = "density") 
dev.off() 
+0

嗨,我已經試過,並在plot.new()中出現錯誤:圖邊距太大,並在plot.xy(xy.coords(x,y),type = type,...)中出錯: plot.new尚未被調用,但我不太瞭解plot.new部分。 – Vron

+0

這很奇怪......我從來沒有遇到過我給你的代碼問題。我做了一些研究,我發現這個鏈接(http://stackoverflow.com/questions/23050928/error-in-plot-new-figure-margins-too-large-scatter-plot)。也許你可以在第二個答案中嘗試解決方案... – ChicagoCubs

1

如果您已經創建了您的陰謀(即它顯示在活動的石英或x11窗口中),你可以使用dev.copy2pdf()和它的親戚,例如

plot(c(1:10)) 
dev.copy2pdf(file="example.pdf") 

如果你想做到這一點沒有密謀石英/ X11窗口,然後發出PNG()的調用或pdf()等您的前後情節()調用,然後用dev.off遵循它( )呼叫,例如當你的繪圖窗口太小,無法採取一切你想生成圖形輸出可發生

pdf(file="example2.pdf") 
plot(c(1:10)) 
dev.off() 

的「plot.new圖利潤過大」錯誤。通常讓你的窗戶變大將解決這個問題。