如何使用geom_sf彻底去除边界?(网格由st_make_grid生成)
解决geom_sf彻底去除地图边界的问题
你的代码中,第二个geom_sf图层(加载states数据的那一行)只设置了填充透明,但未处理边界样式,这是边界仍显示的核心原因。可以通过以下两种方式解决:
方案一:去除states图层的边界
给states图层添加color=NA参数,彻底消除其边界:
geom_sf(data = plot_data, aes(fill = as.vector(dist)), color=NA, size=0) + scale_fill_viridis(discrete=FALSE, name="", direction=-1) + geom_sf(data = states, fill=alpha("black", 0), color=NA) + theme_bw()
方案二:移除不必要的states图层
如果不需要显示states的任何元素,直接删除对应geom_sf行即可:
geom_sf(data = plot_data, aes(fill = as.vector(dist)), color=NA, size=0) + scale_fill_viridis(discrete=FALSE, name="", direction=-1) + theme_bw()
补充:若使用ggplot2新版本,size参数已替换为linewidth,可以尝试将size=0改为linewidth=0,确保网格线完全消失。
内容的提问来源于stack exchange,提问作者bill999
相关产品推荐
相关产品推荐

