添加街区标签
街区标签又长又大,已经遮挡了数据。请查看 manhat_hoods$NTAName。您会发现有些街区其实是几个地点的组合。一个使名称更简洁的办法是把它拆分成多行。例如,将
Midtown-Midtown South
改为
Midtown /
Midtown
South
为此,您可以使用 R 基础中的 gsub() 函数。gsub() 会把第 1 个参数替换为第 2 个参数,作用于第 3 个参数提供的字符串中。例如,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")