如何为geom_sf与ggplot2绘制的地图中两点间边界线设不同颜色?
寻求更优雅的地图指定边界段着色方案
我此前在Stack Overflow发布过相关问题,当时得到的解决方案如下:
library(sf) library(ggplot2) nc <- st_read(system.file("shape/nc.shp", package="sf")) rect <- list(matrix( c(-85, 35.5, -80, 35.5, -80, 36.5, -85, 36.5, -85, 35.5), byrow = TRUE, ncol = 2 )) |> st_polygon() |> st_sfc(crs = st_crs(nc)) border_line <- st_intersection( rect, st_cast(st_union(nc), "MULTILINESTRING") ) ggplot(nc) + geom_sf() + geom_sf(data = border_line, color = "red")
这个方案在当时能正常运行,但现在我需要更优雅的实现方式——上述方法在处理经纬度复杂的边界线(比如附图东北部区域)时操作过于繁琐,希望各位能提供改进建议,感谢关注。
内容的提问来源于stack exchange,提问作者mzkrc
相关产品推荐
相关产品推荐

