Hi,I have a problem about barplot,is someone can deal with the error "Error in grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : X11 font -adobe-helvetica-%s-%s---%d-------*, face 1 at size 11 could not be loaded"? Why cause that? My script:
>library(clusterProfiler)
>library(DOSE)
>library(org.Mm.eg.db)
>a<-read.table("gene.list")
>gene<-as.character(a[,1])
>ego<-enrichGO(gene=gene,OrgDb = org.Mm.eg.db,keytype = "SYMBOL",ont = "CC",pAdjustMethod = "BH")
>write.csv(as.data.frame(ego@result),file = "SSC_updown_GO.csv",row.names = F)
> barplot(ego, drop=TRUE, showCategory=12)
>Error in grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
X11 font -adobe-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*, face 1 at size 11 could not be loaded
> sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.5 LTS
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] parallel stats4 stats graphics grDevices utils datasets methods base
other attached packages:
[1] org.Mm.eg.db_3.4.0 AnnotationDbi_1.36.0 IRanges_2.8.1 S4Vectors_0.12.0
[5] Biobase_2.34.0 BiocGenerics_0.20.0 clusterProfiler_3.2.14 DOSE_3.0.10
loaded via a namespace (and not attached):
[1] Rcpp_0.12.10 plyr_1.8.4 tools_3.3.2 digest_0.6.12 RSQLite_1.1-2
[6] memoise_1.0.0 tibble_1.2 gtable_0.2.0 fastmatch_1.1-0 igraph_1.0.1
[11] DBI_0.6 fgsea_1.0.2 gridExtra_2.2.1 stringr_1.2.0 grid_3.3.2
[16] qvalue_2.6.0 data.table_1.10.4 BiocParallel_1.8.1 GOSemSim_2.0.4 GO.db_3.4.0
[21] ggplot2_2.2.1 DO.db_2.9 reshape2_1.4.2 tidyr_0.6.1 magrittr_1.5
[26] scales_0.4.1 splines_3.3.2 assertthat_0.1 colorspace_1.3-2 stringi_1.1.2
[31] lazyeval_0.2.0 munsell_0.4.3
1 answer
I had the same problem. It is a general problem with the R graphics device. R's default backend for drawing graphics on X11 windows is "Xlib", and that uses the x11-font that doesn't work. From what I understand those x11 fonts are discouraged on current linux distros (not sure about other OS's).
As a fix, you can make R use the "cairo" backend instead of Xlib (https://bioinformaticsngs.wordpress.com/2016/04/18/r-x11-font-adobe-helvetica-s-s-d-face-1-at-size-12-could-not-be-loaded/).
Check with capabilities() in R if it supports cairo (cairo==TRUE), or alternatively nbcairo. If yes try putting the following hook in your ~/.Rprofile and restarting R
# default X11() setting
setHook(packageEvent("grDevices", "onLoad"),
function(…) grDevices::X11.options(type = "cairo"))
If cairo is FALSE, you can get your R to support it by reinstalling R, provided your system has libcairo installed.
Note, though, reinstalling R might mean you also need to reinstall all the packages you are using because they need to be built against the installed version of R.
On Ubuntu the following worked for me
sudo apt install libcairo2-dev
# download and unpack R from CRAN
cd R && ./configure
at the end of configure, it should say something like
Options enabled: shared BLAS, R profiling
Capabilities skipped: JPEG, TIFF <-- no cairo mentioned here
Options not enabled: memory profiling
Recommended packages: yes
After that, the hook solution should work.
Log in to answer this question.
If it is a bug, report to the repository, if it is a problem using the package, post it in support.bioconductor.org. If you could make a reproducible error it would help other people too.
I'm running into the same problem using simply
ggplot2... did you find a solution?If some one is still facing this issue, try applying this. Either you rescan the font directories with
xset fp rehashor reboot the machine as per this post on ubuntu forums: