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')

この記事で使用した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')

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

おわりに

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

この記事が気に入ったらサポートをしてみませんか?