【簡易版】Rでポリゴン(面)にラベル付けする方法

この記事では、簡易版の「Rでポリゴンにラベル付けする方法」について説明します。
こちらの記事の改良版です。

記事の概要です。

  1. 以前の記事では、ポリゴンにラベル付けするために重心座標を計算しました。
  2. 重心座標を計算してポリゴンに結合する処理は、少々手間がかかります
  3. しかし、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)


ミサキ
ミサキ

以前の記事の「データセット作成」部分が消えて、だいぶすっきりしたプログラムになりました!
また、この記事は、QGISのこちらの記事と対応しています。


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

  • R 3.6.1
  • sf 0.7-6
  • ggplot2 3.2.0



この記事の背景

以前の記事で、ポリゴンにラベル付けする方法を説明しました。

Rで、ポリゴン(面)へのラベル付け
この記事では、Rで、ポリゴンにラベル付けする方法について説明します。※こちらに改良版の記事を書きました(2019-08-07)。記事の概要です。前回に引き続き、茨城県の地図に市町村名を表示させます。まず、読み込んだシェープファイルから、市町

そこでは、

ラベル(市町村名)とラベル付けする位置(経度・緯度)がセットになっていれば、ラベルを付けることができます。

と記載しました。

しかし、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)

以下の地図が表示されれば、完了です。

市町村名が表示された茨城県の地図(geom_sf_text利用)

おわりに

お疲れさまでした。
以前に比べると、とても簡単でしたね。
さらには、QGISでのラベル付けよりも簡単になったと思います。
こういう便利な関数はぜひ使い、他に労力を割くようにしましょう!

今回予定していたまとめ記事は、次回作成します。
では。


YouTube: ミサキさん

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

コメント

  1. […] この記事では、Rで、ポリゴンにラベル付けする方法について説明します。※こちらに改良版の記事を書きました。 […]

  2. […] 【簡易版】Rでポリゴン(面)にラベル付けする方法 […]

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

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