R 语言中 X11 相关的一些问题

2021-10-15 11:52:07 浏览数 (1)

参考 Anaconda 官方文档《Using R language with Anaconda》安装 R-4.0.2:

代码语言:javascript复制
conda create -n r-4.0.2 r-essentials r-base==4.0.2

1. unable to open connection to X11 display

代码语言:javascript复制
> plot(1:10)
Error in .External2(C_X11, d$display, d$width, d$height, d$pointsize,  :
  unable to start device X11cairo
In addition: Warning message:
In (function (display = "", width, height, pointsize, gamma, bg,  :
  unable to open connection to X11 display ''
> capabilities()
       jpeg         png        tiff       tcltk         X11        aqua
       TRUE        TRUE        TRUE        TRUE       FALSE       FALSE
   http/ftp     sockets      libxml        fifo      cledit       iconv
       TRUE        TRUE        TRUE        TRUE        TRUE        TRUE
        NLS     profmem       cairo         ICU long.double     libcurl
       TRUE        TRUE        TRUE        TRUE        TRUE        TRUE
> Sys.getenv(c("DISPLAY"))
[1] "localhost:22.0"
>
> options(bitmapType='cairo')             
> png(file="test.png", width = 480, height = 480)
> plot(1:10)
> dev.off()
png
  2          

2. 命令行下 R 画图无法弹出图形界面结果

正常情况下,capabilities()如果现实 X11 为 TRUE,执行plot(1:10)时会在 windows 下弹出一个绘图的结果图形界面。

如果你的capabilities()结果显示 X11 为FALSE,使用 CentOS 的童鞋们可以参考下面的一些操作。

首先,使用 root 安装下面一些 X11 依赖:

代码语言:javascript复制
yum install xorg-x11-* libX11-* libXt-*

其次,在你的 XShell 中配置 X11 转发功能。如果你用的是 MobaXterm,则跳过这一步设置。

最后,用你的 XShell 重新登录服务器,打开 R 执行plot(1:10)即可出现你想要的绘图结果界面。

猜您喜欢

0 人点赞