You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 18:42:13