R 绘图:除 pdf 之外的设备的字符损坏/丢失

Sto*_*aft 5 plot r character-encoding missing-symbols

我遇到一个问题,某些图形设备打印丢失的字形框而不是字符。实际上,到目前为止我尝试过的唯一可以渲染字符的设备是 PDF。由于我最近更新了 R 并重建了一堆软件包,我怀疑这可能与它有关。jpeg以下是比较四个设备( 、pdfsvg和 )的输出的屏幕截图png

尽管我第一次在 Rstudio 中使用 rcorr 包遇到该问题,但当我从命令行作为 Rscript 并使用基本箱线图运行时,就会出现该问题。

require(corrplot)
M<-cor(mtcars)
corrplot(M, method="circle")
dev.off()
pdf("test2.pdf")
corrplot(M, method="circle")
dev.off()
png("test2.png")
corrplot(M, method="circle")
dev.off()
jpeg("test2.jpeg")
corrplot(M, method="circle")
dev.off()
svg("test2.svg")
corrplot(M, method="circle")
dev.off()

pdf("test3.pdf")
boxplot(M, method="circle")
dev.off()
png("test3.png")
boxplot(M, method="circle")
dev.off()
jpeg("test3.jpeg")
boxplot(M, method="circle")
dev.off()
svg("test3.svg")
boxplot(M, method="circle")
dev.off()


Run Code Online (Sandbox Code Playgroud)

会议信息:


> sessionInfo()
R version 3.6.2 (2019-12-12)
Platform: x86_64-generic-linux-gnu (64-bit)
Running under: Clear Linux OS

Matrix products: default
BLAS/LAPACK: /usr/lib64/libopenblas_nehalemp-r0.3.7.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8   
 [6] LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8       LC_NAME=C                  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     

other attached packages:
[1] showtext_0.7     showtextdb_2.0   sysfonts_0.8     cairoDevice_2.28 corrplot_0.84   

loaded via a namespace (and not attached):
[1] compiler_3.6.2 tools_3.6.2   
Run Code Online (Sandbox Code Playgroud)

输出:

图形设备输出的比较 问题不限于rcorr

use*_*748 0

您是否已运行BiocManager::valid()以确保所有软件包都是最新的?这可能会解决不兼容性问题。

  • 这是一条评论 (2认同)