Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cowplot made ggplot2 theme disappear / How to see current ggplot2 theme, and restore the default?

Tags:

r

ggplot2

cowplot

I recently installed the cowplot package. However, after doing this I noticed that my ggplots are missing their background and grid lines of theme_grey()!

enter image description here

The code to create each of the above plots is:

result_df %>%
    ggplot(aes_string(x = 'p', y = 'r')) +
    # theme_grey() + # uncomment this line to produce plot on right
    geom_point(aes(group = c), size = 0.5) +
    geom_line(aes(group = c), size = 0.2, linetype = 'dotted') +
    theme(axis.text.x=element_text(angle = 90, hjust = 1, vjust = 0.5)) +
    facet_grid(b ~ e, scales = "free_y") +
    scale_x_continuous(breaks = seq(0, 10, 2))

Without explicitly calling + theme_grey(), I get the plot on the left.

What is happening here? I thought that theme_grey() is the default. How do I see what my default theme is?

here is a snippet of my sessionInfo():

R version 3.3.2 (2016-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)

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

other attached packages:
 [1] ggthemes_3.3.0    cowplot_0.7.0     RPostgreSQL_0.4-1 DBI_0.5-1         knitr_1.15.1      dirmult_0.1.3-4   dplyr_0.5.0      
 [8] purrr_0.2.2       readr_1.0.0       tidyr_0.6.0       tibble_1.2        ggplot2_2.2.0     tidyverse_1.0.0  

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.8      magrittr_1.5     munsell_0.4.3    colorspace_1.3-1 R6_2.2.0         stringr_1.1.0    plyr_1.8.4       tools_3.3.2     
 [9] grid_3.3.2       gtable_0.2.0     lazyeval_0.2.0   assertthat_0.1   crayon_1.3.2     reshape2_1.4.2   rsconnect_0.6    testthat_1.0.2  
[17] labeling_0.3     stringi_1.1.2    scales_0.4.1    
like image 572
Alex Avatar asked Dec 12 '16 07:12

Alex


People also ask

What is the default Ggplot theme?

3.1 Default theme. 3.2 Black and white theme. 3.3 Light theme. 3.4 Dark theme.

What is the theme in Ggplot in R?

18.2 Complete themes. ggplot2 comes with a number of built in themes. The most important is theme_grey() , the signature ggplot2 theme with a light grey background and white gridlines. The theme is designed to put the data forward while supporting comparisons, following the advice of. 45.


1 Answers

Note: this is longer an issue in current releases of cowplot, where the default theme is not changed. Original answer below:


You can use theme_get() to see the current "default" theme.

You can use theme_set() to change the "default" theme.

Theme settings do not carry over sessions.

Usually, your default will be theme_grey, but cowplot feels it's necessary to change that into theme_cowplot. I really wish it didn't.

You can either use :: notation to completely avoid this, or you can load the package as:

library(cowplot)
theme_set(theme_grey())
like image 137
Axeman Avatar answered Sep 24 '22 02:09

Axeman