我目前正在尝试将 R 函数别名png
为CairoPNG
生成 png 文件。我是从 R 的系统管理员角度出发的——这意味着我没有编写任何 R 代码,也无法更改任何 R 代码。我在弹性 HPC 环境中的管道中运行它。由于环境的性质,我必须在开始时在每个执行节点上安装 X11、cairo 等(这会给每个作业增加 2-3 分钟的任意时间)。
我一直在玩并安装了 R 包Cairo
,它可以在没有 X11 转发的情况下生成 png,这正是我所需要的。如果我尝试png
默认使用:
cars <- c(1,3,5)
png("cars.png")
Error in png("cars.png") : X11 is not available
我意识到我可以通过在活动会话中分配CairoPNG
来规避这一点:png
cars <- c(1,3,5)
png <- CairoPNG
png("cars.png")
plot(cars)
生成一个名为 .png 的文件cars.png
。因此,我希望从 .Rprofile 中执行相同的操作,其中依赖的每个 R 脚本png
实际上都会在后台使用CairoPNG
。
在我的 .Rprofile 中,我添加了:
require("Cairo")
png <- CairoPNG
当我通过命令行启动一个新的交互式 R 会话时,我可以看到 Cairo 正在使用,但分配png <- CairoPNG
不起作用:
Loading required package: Cairo
> png("cars.png")
Error in png("cars.png") : X11 is not available
任何帮助将不胜感激!