使用ggsave时dyn.load(文件,DLLpath = DLLpath,...)出错

时间:2018-05-20 20:37:26

标签: r ggplot2

我在运行以下代码时遇到此错误,但不知道如何修复它。我安装了svglite但是当我运行library(svglite)时,我得到了同样的错误:

  

dyn.load中的错误(文件,DLLpath = DLLpath,...):     无法加载共享对象'/Library/Frameworks/R.framework/Versions/3.5/Resources/library/gdtools/libs/gdtools.so':     dlopen(/Library/Frameworks/R.framework/Versions/3.5/Resources/library/gdtools/libs/gdtools.so,6):未加载库:/opt/X11/lib/libcairo.2.dylib     参考自:/ Library/Frameworks/R.framework/Versions/3.5/Resources/library/gdtools/libs/gdtools.so     原因:未找到图像

x = c(1,2,3,4)
y = c(1,2,3,4)

p <- ggplot(data = data.frame(x=x,y=y), aes(x = x, y = y))  + 
geom_line() + 


ggsave(filename = "ROC_plot_6x4.svg", plot = p, device = "svg", 
   width = 6, height = 4, units = "in")

library(svglite)

1 个答案:

答案 0 :(得分:0)

快速修复:安装XQuartz

我尝试使用库 ggiraph 遇到了这种情况,该库具有 gdtools 依赖性。 gdtools systemfonts (其依赖项之一)的Mac OS X二进制文件都有指向X11的硬编码链接,这对应于默认的XQuartz安装。因此,如果您没有这些库中的任何一个,并且/或者只想轻松下载二进制文件,那么请install XQuartz

FWIW,CRAN's download page for R (OS X)确实提到某些软件包需要X11:

  

注意:使用X11(包括tcltk)需要安装XQuartz,因为它不再是OS X的一部分。在将macOS升级到Windows XP时,请始终重新安装XQuartz。新的主要版本。