RStudio将图形设备后端改为AGG后导出图片报错如何解决?
RStudio AGG图形后端导出报错解决方法
- 第一步:更新适配依赖组件
首先将RStudio升级到2022.02及以上的稳定版本,同时更新ragg包到最新版:
旧版本RStudio对AGG后端的导出功能适配存在原生bug,更新后大部分报错会直接消失。install.packages("ragg")
如果你是Linux系统用户,更新ragg前先安装对应的系统依赖:- Debian/Ubuntu 执行:
sudo apt install libfreetype6-dev libpng-dev libtiff5-dev - CentOS/RHEL 执行:
sudo yum install freetype-devel libpng-devel libtiff-devel
- Debian/Ubuntu 执行:
- 第二步:排查导出路径问题
若更新后仍有报错,检查导出路径是否包含中文、空格或特殊字符,将导出路径改为全英文无特殊字符的路径即可解决,早期ragg版本对非ASCII路径的兼容性较差。 - 第三步:手动调用ragg函数导出(兼容性最好)
不用RStudio自带的导出按钮,直接调用ragg包的导出函数,导出效果和AGG预览完全一致,不会触发导出错误,示例代码如下:
如果需要导出PDF格式,将# 加载ragg包 library(ragg) # 初始化AGG导出设备,可自定义尺寸、dpi agg_png("输出图片.png", width = 8, height = 6, units = "in", res = 300) # 此处写入你原本的绘图代码 plot(1:10, rnorm(10)) # 关闭绘图设备完成导出 dev.off()agg_png替换为agg_pdf即可,还支持tiff、jpeg等常用格式。 - 第四步:调整RStudio图形附加设置
如果坚持要使用自带导出按钮,进入Tools->Global Options->General->Graphics,取消勾选 Use Cairo graphics device if available 选项,保存设置后重启RStudio即可。
内容的提问来源于stack exchange,提问作者anderwyang
相关产品推荐
相关产品推荐

