Rで、ポリゴン(面)の色分け

この記事では、Rでポリゴンを色分けする方法について説明します。

概要です。
Rを起動し、前回使ったシェープファイルを読み込みます。
描画するときに、市町村の属性名(N03_004)をfill引数(ひきすう)に渡します。

geom_sf(aes(fill = N03_004))

すると、市町村単位で色分けされた地図を作成できます。

こちらがプログラム全体です。

library(sf)
shp <- st_read("D:/OneDrive/data/N03-20150101_08_GML", options = "ENCODING=SHIFT-JIS")

library(ggplot2)
ggplot(shp) + geom_sf(aes(fill = N03_004)) + theme(legend.position = 'none')


ミサキ
ミサキ

細かい点はいつかまとめます。
とりあえず動かしましょう!
また、この記事はQGISのこちらの記事と対応しています。


この記事で使用したRとライプラリのバージョンを記載しておきます。
バージョンが異なると、動作や表示も若干異なる場合があるからです。

  • R 3.6.1
  • sf 0.7-6
  • ggplot2 3.2.0



ポリゴンの色分け

まず、前回の記事を参考にRを起動し、茨城県のシェープファイルを読み込みます。

library(sf)
shp <- st_read("D:/OneDrive/data/N03-20150101_08_GML", options = "ENCODING=SHIFT-JIS")

次に、描画です。
前回は、シェープファイルを描画するgeom_sf()の引数に何も渡しませんでした

geom_sf()

今回は、市町村単位でシェープファイルを塗り潰すため、geom_sf()を以下のように使います。

geom_sf(aes(fill = N03_004))

aesについては、今は無視してください。
fill引数に、市町村の属性名N03_004を渡しています。
fillは「塗り潰し」なので、これは市町村ごとに色を変えて塗り潰すことを意味します。

では、以下を実行して下さい。

library(ggplot2)
ggplot(shp) + geom_sf(aes(fill = N03_004)) + theme(legend.position = 'none')

以下のように市町村が塗り潰されれば完了です。

市町村ごとに塗りつぶされた茨城県の地図

ちなみに

theme(legend.position = 'none')

は、凡例を非表示にすることを意味します。

おわりに

お疲れさまでした。
次回は、ラベル付けを行います。
では。


YouTube: ミサキさん

問い合わせ先
Mail: caprico.aries@gmail.com
Twitter: https://twitter.com/caprico_aries(無言フォローもお気軽に)

コメント

  1. […] 記事の概要です。前回に引き続き、茨城県の地図に市町村名を表示させます。まず、読み込んだシェープファイルから、市町村名・ポリゴンデータ(geometry)・市町村の重心の経度(X)・市町村の重心の緯度(Y)のカラムで構成されるデータセットを作ります。データセットができれば、ほぼ完了です。地図を描画するときに、geom_text()を追加すれば、各市町村の重心に市町村名が表示されます。 […]

  2. […] Rでシェープファイルを読み込む方法Rで、ポリゴン(面)の色分けRで、ポリゴン(面)へのラベル付け【簡易版】Rでポリゴン(面)にラベル付けする方法 […]

タイトルとURLをコピーしました