在我们实验室的计算集群上安装 R 3.6.3 后,绘制到 png 时字符不再正确显示。例如,应该是数字 2 的轴标签显示为一个包含数字“0032”的小框,这是 2 的 Unicode 代码(如本例所示)。 打印到pdf很好。
R 是使用自制软件安装的,在/home/linuxbrew/.linuxbrew/bin/R
. 我怀疑这是一个问题,因为 R 没有安装适当的支持绘制到 png 或类似的东西。
这个问题很难搜索,因为我一直在寻找关于 Unicode 字符显示奇怪符号的帖子,而不是它们的代码。因此,欢迎提出更好的搜索条件建议!根据我的发现,我们尝试(重新)使用 brew 安装 cairo 和 pango,然后重新安装 R,但这没有帮助。
我已尝试安装 Cairo R 软件包以便能够使用该CairoPNG
设备,但这失败并显示以下消息 - 即使已安装 R 似乎也找不到 cairo。
checking for pkg-config... /home/linuxbrew/.linuxbrew/bin/pkg-config
checking whether pkg-config knows about cairo... no
configure: CAIRO_LIBS is unset, attempting to guess it.
configure: CAIRO_CFLAGS=
checking if R was compiled with the RConn patch... no
checking cairo.h usability... no
checking cairo.h presence... no
checking for cairo.h... no
configure: error: Cannot find cairo.h! Please install cairo (http://www.cairographics.org/) and/or set CAIRO_CFLAGS/LIBS correspondingly.
ERROR: configuration failed for package ‘Cairo’
我是管理员/我在这台机器上没有 sudo 访问权限可能是相关的,所以我正在将 R 包安装到个人库中。
capabilities()
和 sessionInfo 如下:
> capabilities()
jpeg png tiff tcltk X11 aqua
TRUE TRUE FALSE FALSE 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
> sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Scientific Linux release 6.10 (Carbon)
Matrix products: default
BLAS/LAPACK: /home/linuxbrew/.linuxbrew/Cellar/openblas/0.3.9/lib/libopenblasp-r0.3.9.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.6.3 tools_3.6.3