この記事では、簡易版の「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でのラベル付けよりも簡単になったと思います。
こういう便利な関数はぜひ使い、他に労力を割くようにしましょう!
今回予定していたまとめ記事は、次回作成します。
では。
—
YouTube: ミサキさん
問い合わせ先
Mail: caprico.aries@gmail.com
Twitter: https://twitter.com/caprico_aries(無言フォローもお気軽に)
コメント
[…] この記事では、Rで、ポリゴンにラベル付けする方法について説明します。※こちらに改良版の記事を書きました。 […]
[…] 【簡易版】Rでポリゴン(面)にラベル付けする方法 […]
[…] Rでシェープファイルを読み込む方法Rで、ポリゴン(面)の色分けRで、ポリゴン(面)へのラベル付け【簡易版】Rでポリゴン(面)にラベル付けする方法 […]