始める無料で始める

質的データの例

最後に、カテゴリ変数の例を見てみましょう。land_cover ラスタには、地表をグリッド状に区分した分類が入っています。まずは次を実行して land_cover を表示してみてください。

land_cover

values は数値ですが、これらの数値をカテゴリに対応づける attributes があることに気づくはずです(ちょうど factor の仕組みと同じです)。

カテゴリ変数の配色は、可視化の目的に大きく左右されます。各カテゴリを同程度の視覚的重みで見せたい、つまり特定のカテゴリだけが目立ちすぎないようにしたい場合は、色相(hue)を変えつつ、彩度(chroma:鮮やかさの尺度)と明度(lightness)をそろえる方法があります(ggplot2 の離散スケールの既定で、hcl() 関数で生成できます)。

RColorBrewer の質的パレットは、色の識別のしやすさと視覚的重みの均等さのバランスが取れています。"paired""accent" のスキームはこれから外れており、それぞれ、明度が対になった色を提供するもの、特定のカテゴリを強調するためにやや強い色を含むパレットになっています。

このデータでは、森林に緑、水域に青といった直感的な色を選ぶほうが適切かもしれません。どちらの方針でも、新しい配色の設定は対応する tm_*** レイヤーの palette 引数に色のベクトルを渡すだけです。

この演習はコースの一部です

R で地理空間データを可視化する

コースを見る

演習の手順

  • tm_shape()tm_raster() を組み合わせて land_cover ラスタをプロットします。既定では、tmapRColorBrewer の質的パレット "Set3" を使います。
  • ggplot2 のパレットを模した hcl_cols のコードを確認し、tm_raster()palette 引数に hcl_cols を渡して、もう一度 land_cover ラスタをプロットします。
  • levels()land_cover に対して呼び出し、カテゴリを確認します。
  • こんどは intuitive_cols をパレットとして使い、tm_legend() レイヤーを position = c("left", "bottom") という引数で追加します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

library(raster)

# Plot land_cover



# Palette like the ggplot2 default
hcl_cols <- hcl(h = seq(15, 375, length = 9), 
                c = 100, l = 65)[-9]

# Use hcl_cols as the palette



# Examine levels of land_cover


# A set of intuitive colors
intuitive_cols <- c(
  "darkgreen",
  "darkolivegreen4",
  "goldenrod2",
  "seagreen",
  "wheat",
  "slategrey",
  "white",
  "lightskyblue1"
)

# Use intuitive_cols as palette


コードを編集して実行