2015-02-05 68 views
3

我跟着这里提到的步骤: 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 

可能有人建议我究竟做错了什么?

+0

使用'getwd()'检查你的工作目录。如果您指出您使用的是哪个操作系统和R版本,那么您的问题也可能会更好。也许用你的操作系统标记你的问题。 – vpipkt 2015-02-05 21:24:42

+1

看起来可能是X11特定的。你的Mac上安装了X11吗?你尝试过使用'png()'或'pdf()'而不是'jpeg()'吗? – MrFlick 2015-02-05 21:43:16

+0

png()工作正常,所以我现在不会尝试重新安装。谢谢@MrFlick – KKa 2015-02-06 05:03:50

回答

1

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

1

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

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

相关问题