2015-01-05 70 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图利润过大”错误。通常让你的窗户变大将解决这个问题。