web-dev-qa-db-ja.com

Cowplotがggplot2テーマを非表示にしました/現在のggplot2テーマを表示し、デフォルトに戻す方法は?

最近、cowplotパッケージをインストールしました。しかし、これを行った後、私のggplotsにtheme_grey()の背景とグリッド線がないことに気づきました。

enter image description here

上記の各プロットを作成するためのコードは次のとおりです。

_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))
_

明示的に+ theme_grey()を呼び出さずに、左側のプロットを取得します。

ここで何が起きてるの? theme_grey()がデフォルトだと思いました。デフォルトのテーマを確認するにはどうすればよいですか?

これが私の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    
_
15
Alex

:これは、デフォルトのテーマが変更されていないcowplotの次のリリースでは問題になりません。


theme_get()を使用して、現在の「デフォルト」テーマを確認できます。

theme_set()を使用して、「デフォルト」のテーマを変更できます。

テーマ設定はセッションを引き継ぎません。

通常、デフォルトはtheme_greyですが、cowplotはそれをtheme_cowplotに変更する必要があると感じています。私は本当にそうでなかったらいいのにと思います。

これを完全に回避するために::表記を使用するか、次のようにパッケージをロードすることができます。

library(cowplot)
theme_set(theme_grey())
22
Axeman