如果安装了 Cairo 软件包,Jupyter R 图中的所有文本都会被打乱

问题描述 投票:0回答:1

当我在 Jupyter + R 会话中绘图时,无论是 Notebook 还是 R 控制台、基础 R 还是 ggplot2 绘图,文本都会像这样被打乱:

R plot with scrambled texts

sessionInfo

R version 4.3.3 (2024-02-29)
Platform: x86_64-conda-linux-gnu (64-bit)
Running under: Debian GNU/Linux 12 (bookworm)

Matrix products: default
BLAS/LAPACK: /home/adam/opt/mambaforge/envs/R433new/lib/libopenblasp-r0.3.27.so;  LAPACK version 3.12.0

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       

time zone: US/Central
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] digest_0.6.37     IRdisplay_1.1     utf8_1.2.4        base64enc_0.1-3  
 [5] fastmap_1.2.0     glue_1.7.0        htmltools_0.5.8.1 repr_1.1.7       
 [9] lifecycle_1.0.4   cli_3.6.3         fansi_1.0.6       vctrs_0.6.5      
[13] pbdZMQ_0.3-11     Cairo_1.6-3       compiler_4.3.3    tools_4.3.3      
[17] evaluate_0.24.0   pillar_1.9.0      crayon_1.5.3      rlang_1.1.4      
[21] jsonlite_1.8.8    IRkernel_1.3.2    uuid_1.2-1 

请注意,

Cairo
已加载。

但是,如果我在 Linux 终端中启动 R 会话,或者将输出设置为 pdf/png 文件,或者卸载

Cairo
包并启动新的 Jupyter 会话,所有文本都将正常。即使我在 Linux 终端会话中执行
library('Cairo')
,图中的文本仍然正常。我在上面的代码中使用 R-4.3.3 只是因为我认为问题出在最新的 R 上,结果证明这是错误的。 有什么想法吗?非常感谢!

我尝试了 conda r-cairo、

install.packages('Cairo')
的不同版本的 CRAN Cairo 软件包以及不同版本的 R,但都没有工作。如上例所示,文本总是会扭曲。

r plot jupyter jupyter-lab cairo
1个回答
0
投票

按照 Simon Urbanek 的建议,这个问题可以通过更改默认字体来解决:

CairoFonts(regular="sans:style=Regular")

https://github.com/s-u/Cairo/issues/49

© www.soinside.com 2019 - 2024. All rights reserved.