ggplot2 のプロットにカスタムの連続カラーパレットを追加する
ggplot2 のプロットにカスタムの連続スケールを追加する、もっとも柔軟な方法は scale_color_gradientn() または scale_fill_gradientn() を使うことです。どちらを使えばよいかは、どの審美属性(aesthetic)にマッピングしたかで決まります。たとえば、第1章で作成した予測住宅価格のプロットでは、価格を fill にマッピングしていたので、scale_fill_gradientn() を使う必要があります。
この2つの関数は、パレットを定義する色のベクトルを渡す引数 colors を取ります。ここが柔軟性のポイントです。RColorBrewer や viridisLite のようなパッケージを使って自動生成しても、色名や16進数コードで手動指定してもかまいません。
scale___gradientn() 関数は、これらの色を変数の値にどのように割り当てるかを処理しますが、values 引数で制御することもできます。
それでは、第1章の予測住宅価格ヒートマップに対して、いくつかの別のカラースケールを試してみましょう(計算時間を短縮してすぐに結果を見られるよう、地図の背景は外しています)。
この演習はコースの一部です
R で地理空間データを可視化する
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
library(RColorBrewer)
# 9 steps on the RColorBrewer "BuPu" palette: blups
# Add scale_fill_gradientn() with the blups palette
ggplot(preds) +
geom_tile(aes(lon, lat, fill = predicted_price), alpha = 0.8)