発散スケールの例
デフォルトのカラースケールが適切でない別のデータセットを見てみましょう。ラスタ migration には、1990 年から 2000 年の間に各ラスタセルで純増(転入超過)した人数の推定値が入っています。正の値は純転入、負の値は純転出を示します。次を実行して確認してみましょう。
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE,
outside.position = c("bottom"))
デフォルトのカラースケールはあまり役に立たなそうに見えますが、tmap は実はかなり賢いことをしています。自動的に発散(diverging)カラースケールを選んでいるのです。発散スケールが適切なのは、大きな人口移動が大きな正の値「または」絶対値として大きな負の値になるためです。ゼロ(つまり純移動なし)が自然な中点になります。
tmap は、可視化する変数に正と負の値が両方含まれる場合に発散スケールを選び、中点をゼロにします。これは常に正しいとは限りません。例えば、割合で相対変化を地図化するなら、100% を中点にするのが直感的かもしれません。別の中点が必要なときは、奇数段階(中央に中間色が来るように)の発散パレットを作成し、自分でブレークポイントを指定するのが最善です。
それでは、発散スケールを自分で設定して、より情報量の多い地図にできるか試してみましょう。
(データソース: de Sherbinin, A., M. Levy, S. Adamo, K. MacManus, G. Yetman, V. Mara, L. Razafindrazay, B. Goodrich, T. Srebotnjak, C. Aichele, and L. Pistolesi. 2015. Global Estimated Net Migration Grids by Decade: 1970-2000. Palisades, NY: NASA Socioeconomic Data and Applications Center (SEDAC). http://dx.doi.org/10.7927/H4319SVC 2016年9月27日アクセス)
この演習はコースの一部です
R で地理空間データを可視化する
演習の手順
migrationを出力して、これがRasterLayerオブジェクトであることを確認し、移動値の範囲を確認します。RColorBrewerの"RdGy"パレットから 7 色の発散パレットred_grayを作成します。- 作成した発散色セット
red_grayをプロットのパレットとして使います。※色は反映されますが、ブレークは有用ではありません。 - カラースケールに次の固定ブレークを追加します:
c(-5e6, -5e3, -5e2, -5e1, 5e1, 5e2, 5e3, 5e6)
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Print migration
# Diverging "RdGy" palette
red_gray <- brewer.pal()
# Use red_gray as the palette
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE, outside.position = c("bottom"))
# Add fixed breaks
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE, outside.position = c("bottom"))