如何将图保存到文件系统

时间:2015-02-05 21:19:12

标签: r macos

我按照这里提到的步骤: http://www.stat.berkeley.edu/~s133/saving.html

xyz <- c(1:4)
yz <- c(10,20,30,40)
jpeg('rplot.jpg')
plot(xyz,yz)
dev.off()

并收到以下错误:

Warning messages:
1: In jpeg("rplot.jpg") :
   unable to load shared object '/Library/Frameworks/R.framework/Resources/library/grDevices/libs//cairo.so':
   dlopen(/Library/Frameworks/R.framework/Resources/library/grDevices/libs//cairo.so, 6): Library not loaded: /usr/X11/lib/libXrender.1.dylib
   Referenced from: /Library/Frameworks/R.framework/Resources/library/grDevices/libs//cairo.so
   Reason: image not found
2: In jpeg("rplot.jpg") : failed to load cairo DLL

有人能说出我做错了什么吗?

2 个答案:

答案 0 :(得分:1)

这显然在Mac上,代码看起来正确,在我的Mac上没有出现任何错误,并且它表明grDevices包的某些部分已损坏。与vpipkt不同,我认为不太可能与您的工作目录设置有关。由于该包是默认安装的一部分,因此您将无法使用GUI包管理器重新安装它。我建议重新安装R.

答案 1 :(得分:1)

要在我的Mac上运行这些警告(运行OS X El Capitan),我跟着this guide。它适用于OS X Mavericks上的SVG,但潜在的问题是相同的; OS X不附带X11支持。您需要下载并安装XQuartz(绝对不需要重新安装R)。

执行此操作后,我再次运行我的代码(在RStudio中),但只有第一个警告消失了。注销后,重新登录并重新启动RStudio,第二个警告也消失了。我认为这个过程将XQuartz设置为您的默认X11服务器。