Почему символы отображаются в виде кодов символов Unicode при отображении в png в R? - PullRequest
3 голосов
/ 21 апреля 2020

После установки R 3.6.3 в вычислительном кластере нашей лаборатории символы больше не отображаются правильно при отображении в png. Например, метка оси, которая должна быть числом 2, отображается в виде небольшого прямоугольника с цифрами «0032», который является кодом Unicode для 2 (как в этом примере) . С графиком в pdf все в порядке.

R устанавливается с помощью homebrew, в /home/linuxbrew/.linuxbrew/bin/R. Я подозреваю, что это проблема с R, не установленным с надлежащей поддержкой для печати на png, или что-то в этом роде.

Эту проблему довольно сложно найти, потому что я продолжал находить сообщения о символах Юникода, показывающих странные символы, а не их коды. Таким образом, предложения по улучшению условий поиска будут приветствоваться! Исходя из того, что я нашел, мы попытались (пере) установить cairo и pan go с помощью brew, а затем переустановить 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   
...