在R语言中为ggplot绘制的纽约行政区地图添加count变量标签
你可以直接在现有ggplot代码的基础上新增geom_sf_text()图层实现数值标签添加,该函数会自动匹配sf对象中每个行政区多边形的质心放置标签,无需额外计算坐标。
修改后的完整绘图代码如下:
ggplot() + geom_sf(data = boroughs, aes(fill = count))+ # 新增的标签图层 geom_sf_text(data = boroughs, aes(label = count), color = "white", size = 4.5, na.rm = TRUE) + # 如果你想要带白色背景框的标签,可以把上面一行换成下面这行 # geom_sf_label(data = boroughs, aes(label = count), size = 4, na.rm = TRUE) + ##guides(fill=FALSE) + scale_fill_continuous(low = "lightblue", high = "darkblue", na.value = "gray90")+ theme(axis.title.x=element_blank(), axis.text.x=element_blank(), axis.ticks.x=element_blank(), axis.title.y=element_blank(), axis.text.y=element_blank(), axis.ticks.y=element_blank()) + ggtitle('New York Boroughs ')
补充说明:
- 代码中的
na.rm = TRUE参数可以避免没有匹配到count值的行政区(比如布朗克斯、斯塔滕岛)抛出警告 - 如果你需要同时显示行政区名称和count数值,可以把
aes(label = count)替换为aes(label = paste0(name, "\n", count)),就会自动换行显示两个信息 na.value = "gray90"参数可以给没有count值的行政区设置浅灰色填充,视觉效果更统一
内容的提问来源于stack exchange,提问作者John Thomas
相关产品推荐
相关产品推荐

