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')
は、凡例を非表示にすることを意味します。
おわりに
お疲れさまでした。
次回は、ラベル付けを行います。