niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(R) Extending ggplot2(和訳)を読んでいく…(メモ)

ggbodeパッケージが欲しくて。

先日からggplot2頑張っていき姿勢を示していますが、よく使う設定はもうパッケージにして使いまわしたい…という気持ちから、この記事を読んでstatgeomについて理解をしようとしています。

qiita.com

原文でもがんばれば読めるけど、やっぱり日本語で書かれた資料があるのはありがたいですね…。特に新しい概念を修得するときは母国語で学べるというのは良いことだと思っています。いずれは英語で理解できなくてはいけないとしてもね…。

そして、ようやくstatのところ読み終わった。しかし、compute_groupsetup_paramsがどのタイミングで処理されていくのかがわかっていないと適切に対処できないのでは…?という気持ちがある。まぁこれはいずれ解読する。

geomについてはgridの理解が必要になるということなのでこちらを購入した。いずれ届くだろう。

www.kyoritsu-pub.co.jp

全容を解明するには、print.ggplot()を読んで解読するのがおそらく一番早いのかなと思っているのだけども、まとまった資料が既にあるのであればそれを参照したいなぁ…。
どこかにggplot2パッケージ内部構造徹底解説本ありませんかね…?

theme_bw は完全なtheme

先のExtending ggplot2(和訳)のthemeのところに書かれていますが、theme_bw()は完全なthemeだそうです。曰く「完全なthemeを足し合わせると、既存のthemeを取り除き、新しいthemeを適用します。」とのことで、theme_bw()を使った場合にうまくカスタマイズできないのはこれのせいかな?

ということで、中身を見てみると、

function (base_size = 11, base_family = "") 
{
    theme_grey(base_size = base_size, base_family = base_family) %+replace% 
        theme(panel.background = 
            element_rect(fill = "white", colour = NA), 
            panel.border = element_rect(fill = NA, colour = "grey20"), 
            panel.grid.major = element_line(colour = "grey92"), 
            panel.grid.minor = element_line(colour = "grey92", size = 0.25), 
            strip.background = element_rect(fill = "grey85", colour = "grey20"), 
            legend.key = element_rect(fill = "white", colour = NA), 
            complete = TRUE)
}
<environment: namespace:ggplot2>

最後にcomplete = TRUEがあるので、これがないthemeを作ればよさそう。先日のbode plot用のthemeにちょっと反映させよう。

ということで、引き続き頑張っていくという気持ちの表明。

Enjoy!!