Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjusting font size with theme() does not work with figure_plot = TRUE #194

Open
wendelljpereira opened this issue Aug 6, 2024 · 1 comment

Comments

@wendelljpereira
Copy link

Hi @samuel-marsh, thank you for the excellent package !! I really enjoy the enhanced plots.

I am trying to adjust the font size of a DimPlot_scCustom() using theme(). It works as expected when figure_plot = FALSE but does not work properly when figure_plot = TRUE. I fear the same issue is happening with any plot that allows figure_plot = TRUE.

Here is a reproducible example:

require(Seurat)
require(scCustomize)
require(ggplot2)

A <- DimPlot_scCustom(seurat_object = pbmc_small,
                 figure_plot = TRUE)

B <- DimPlot_scCustom(seurat_object = pbmc_small,
                     figure_plot = F) + 
    theme(
        axis.title = element_text(size = 40),
        axis.text = element_text(size = 40),
        legend.text = element_text(size = 40), 
        plot.title = element_blank())

C <- DimPlot_scCustom(seurat_object = pbmc_small,
                      figure_plot = TRUE)+ 
    theme(
        axis.title = element_text(size = 40),
        axis.text = element_text(size = 40),
        legend.text = element_text(size = 40), 
        plot.title = element_blank())


A | B | C

Which produces the image below.

image

A similar issue happens when I try to replace other aspects of the plot with theme(). For example,

DimPlot_scCustom(seurat_object = pbmc_small,
                      figure_plot = TRUE) + DarkTheme()

Will produce the plot below:

image

Is there a way to control the aspects of the plot when using figure_plot = TRUE?

sessionInfo() output
R Under development (unstable) (2023-03-29 r84123)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS 14.5

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.4/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: America/New_York
tzcode source: internal

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

other attached packages:
[1] ggplot2_3.5.1      scCustomize_2.1.2  Seurat_5.1.0       SeuratObject_5.0.2
[5] sp_2.1-4          

loaded via a namespace (and not attached):
  [1] RColorBrewer_1.1-3     rstudioapi_0.16.0      jsonlite_1.8.8        
  [4] shape_1.4.6.1          magrittr_2.0.3         spatstat.utils_3.0-5  
  [7] ggbeeswarm_0.7.2       farver_2.1.2           GlobalOptions_0.1.2   
 [10] vctrs_0.6.5            ROCR_1.0-11            spatstat.explore_3.3-1
 [13] paletteer_1.6.0        janitor_2.2.0          htmltools_0.5.8.1     
 [16] forcats_1.0.0          sctransform_0.4.1      parallelly_1.37.1     
 [19] KernSmooth_2.23-24     htmlwidgets_1.6.4      ica_1.0-3             
 [22] plyr_1.8.9             plotly_4.10.4          zoo_1.8-12            
 [25] lubridate_1.9.3        igraph_2.0.3           mime_0.12             
 [28] lifecycle_1.0.4        pkgconfig_2.0.3        Matrix_1.6-4          
 [31] R6_2.5.1               fastmap_1.2.0          fitdistrplus_1.2-1    
 [34] future_1.33.2          shiny_1.9.1            snakecase_0.11.1      
 [37] digest_0.6.36          colorspace_2.1-1       rematch2_2.1.2        
 [40] patchwork_1.2.0        tensor_1.5             prismatic_1.1.2       
 [43] RSpectra_0.16-2        irlba_2.3.5.1          labeling_0.4.3        
 [46] progressr_0.14.0       fansi_1.0.6            spatstat.sparse_3.1-0 
 [49] timechange_0.3.0       httr_1.4.7             polyclip_1.10-7       
 [52] abind_1.4-5            compiler_4.4.0         withr_3.0.1           
 [55] fastDummies_1.7.3      MASS_7.3-61            tools_4.4.0           
 [58] vipor_0.4.7            lmtest_0.9-40          beeswarm_0.4.0        
 [61] httpuv_1.6.15          future.apply_1.11.2    goftest_1.2-3         
 [64] glue_1.7.0             nlme_3.1-165           promises_1.3.0        
 [67] grid_4.4.0             Rtsne_0.17             cluster_2.1.6         
 [70] reshape2_1.4.4         generics_0.1.3         gtable_0.3.5          
 [73] spatstat.data_3.1-2    tidyr_1.3.1            data.table_1.15.4     
 [76] utf8_1.2.4             spatstat.geom_3.3-2    RcppAnnoy_0.0.22      
 [79] ggrepel_0.9.5          RANN_2.6.1             pillar_1.9.0          
 [82] stringr_1.5.1          spam_2.10-0            RcppHNSW_0.6.0        
 [85] ggprism_1.0.5          later_1.3.2            circlize_0.4.16       
 [88] splines_4.4.0          dplyr_1.1.4            lattice_0.22-6        
 [91] survival_3.7-0         deldir_2.0-4           tidyselect_1.2.1      
 [94] miniUI_0.1.1.1         pbapply_1.7-2          gridExtra_2.3         
 [97] scattermore_1.2        matrixStats_1.3.0      stringi_1.8.4         
[100] lazyeval_0.2.2         codetools_0.2-20       tibble_3.2.1          
[103] cli_3.6.3              uwot_0.2.2             xtable_1.8-4          
[106] reticulate_1.38.0      munsell_0.5.1          Rcpp_1.0.12           
[109] globals_0.16.3         spatstat.random_3.3-1  png_0.1-8             
[112] ggrastr_1.0.2          spatstat.univar_3.0-0  parallel_4.4.0        
[115] dotCall64_1.1-1        listenv_0.9.1          viridisLite_0.4.2     
[118] scales_1.3.0           ggridges_0.5.6         leiden_0.4.3.1        
[121] purrr_1.0.2            rlang_1.1.4            cowplot_1.1.3 

Thank you!
Wendell

@samuel-marsh
Copy link
Owner

samuel-marsh commented Aug 21, 2024

Hi Wendell,

Sorry for the delay getting back to you. Thanks for bringing up the issue. The reason this is happening is because the UMAP axes added by figure_plot are actually a second ggplot2 object and then it is patchwork’ed together. If you use patchwork & instead of ggplot2 + does that resolve the issue?

Best,
Sam

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants