加入鄰里標籤
鄰里標籤太長又太大,會遮蔽資料。先看一下 manhat_hoods$NTAName。你會發現有些鄰里其實是由幾個地點組合而成。為了讓名稱更精簡,可以把它們拆成多行。例如,將
Midtown-Midtown South
改成
Midtown /
Midtown
South
要做到這點,你可以使用 base R 的 gsub() 函式。gsub() 會把第一個引數以第二個引數取代,套用在第三個引數提供的字串上。例如,gsub("a", "A", x) 會把 x 中所有的 "a" 都替換成 "A"。
你也可以調整文字大小,減少鄰里名稱對地圖的干擾。
本練習屬於課程
在 R 視覺化地理空間資料
練習說明
- 在
manhat_hoods中建立新的欄位name,使用gsub()把manhat_hoods$NTAName中所有空白(" ")替換為換行("\n")。 - 使用
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")