【簡易版】Rでポリゴン(面)にラベル付けする方法
この記事では、簡易版の「Rでポリゴンにラベル付けする方法」について説明します。
※こちらの記事の改良版です。
記事の概要です。
以前の記事では、ポリゴンにラベル付けするために重心座標を計算しました。
重心座標を計算してポリゴンに結合する処理は、少々手間がかかります。
しかし、geom_sf_text(又は、geom_sf_label)を使えば、重心座標を計算せずにラベル付けができます。
こちらが、geom_sf_textを使ってラベル付けする部分です。
ggplot(shpMuni) + geom_sf(aes(fill = N03_004)) + theme(legend.position = 'none') +
geom_sf_text(aes(x = X, y = Y, label = N03_004), size = 3)
プログラム全体を示します。
## シェープファイル読み込み
library(sf)
shp <- st_read("./data/N03-20150101_08_GML", options = "ENCODING=SHIFT-JIS")
## 描画
library(ggplot2)
ggplot(shpMuni) + geom_sf(aes(fill = N03_004)) + theme(legend.position = 'none') +
geom_sf_text(aes(x = X, y = Y, label = N03_004), size = 3)
この記事で使用したRとパッケージのバージョンを記載しておきます。
R 3.6.1
sf 0.7-6
ggplot2 3.2.0
この記事の背景
以前の記事で、ポリゴンにラベル付けする方法を説明しました。
そこでは、
と記載しました。
しかし、geom_sf_text(又は、geom_sf_label)を使えば、ラベル付けする位置(経度・緯度)がセットになっていなくても、ポリゴンにラベル付けすることができます。
簡単なポリゴンへのラベル付け
では、geom_sf_textを使ってポリゴンにラベル付けします。
ラベル付けするのは、茨城県の市町村のポリゴンです。
茨城県のシェープファイルはこちらを参考にダウンロードして下さい。
まず、シェープファイルを読み込みます。
library(sf)
shp <- st_read("../data/N03-20150101_08_GML", options = "ENCODING=SHIFT-JIS")
以前はここで、シェープファイルと重心座標をセットにしたデータを作成しました。
しかし、今回はその必要がありません。
もう、描画します。
library(ggplot2)
ggplot(shpMuni) + geom_sf(aes(fill = N03_004)) + theme(legend.position = 'none') +
geom_sf_text(aes(x = X, y = Y, label = N03_004), size = 3)
以下の地図が表示されれば、完了です。
おわりに
お疲れさまでした。
以前に比べると、とても簡単でしたね。
さらには、QGISでのラベル付けよりも簡単になったと思います。
こういう便利な関数はぜひ使い、他に労力を割くようにしましょう!