地区ラベルを追加する
地区名のラベルが長く大きすぎて、データが見えにくくなっています。manhat_hoods$NTAName を確認してみましょう。いくつかの地区名は実際には複数の場所を組み合わせたものになっています。名前を少し簡潔にする1つの方法は、複数行に分割することです。たとえば、
Midtown-Midtown South
を次のように変えるイメージです。
Midtown /
Midtown
South
このために、base R の gsub() 関数を使えます。gsub() は、第3引数で与えた文字列中の第1引数に一致する部分を第2引数で置き換えます。たとえば、gsub("a", "A", x) は、x に含まれるすべての "a" を "A" に置き換えます。
また、地区名の影響を小さくするために、テキストサイズを調整してみるのもよいでしょう。
この演習はコースの一部です
R で地理空間データを可視化する
演習の手順
gsub()を使って、manhat_hoods$NTAName中のスペース(" ")を改行("\n")に置き換え、manhat_hoodsに新しい列nameを作成します。gsub()を使って、manhat_hoods$name中のハイフン("-")をスラッシュ+改行("/\n")に置き換え、manhat_hoodsのnameを更新します。- プロットを編集し、
textを"name"にマッピングし、sizeを 0.5 に設定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
library(tmap)
# gsub() to replace " " with "\n"
# gsub() to replace "-" with "/\n"
# Edit to map text to name, set size to 0.5
tm_shape(nyc_tracts_merge) +
tm_fill(col = "estimate") +
tm_shape(water) +
tm_fill(col = "grey90") +
tm_shape(manhat_hoods) +
tm_borders() +
tm_text(text = "NTAName")