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

geom_sf的size参数无法改变边框粗细问题求助

解决geom_sf边框粗细无法调整的问题

问题核心原因

在ggplot2 3.4.0版本中,官方对线条类几何元素的参数做了调整:原用于控制线条粗细的size参数被linewidth替代,size现在仅用于控制点(如geom_point)的大小。你使用的正好是ggplot2 3.4.0,因此用size调整geom_sf的边框粗细不会生效。

解决方案

将代码中的size替换为linewidth参数即可:

library(ggplot2)
library(sf)
nc = sf::st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)
# 调整边框粗细为0.1
ggplot(nc) + geom_sf(linewidth = 0.1)
# 调整边框粗细为1
ggplot(nc) + geom_sf(linewidth = 1)
# 调整边框粗细为10
ggplot(nc) + geom_sf(linewidth = 10)

额外排查点

如果更换参数后仍无效果,可检查以下内容:

  • 确认是否存在全局theme设置覆盖了线条属性(例如theme(panel.border = element_blank())这类设置可能干扰)
  • 确保没有后续图层覆盖当前geom_sf的边框样式
  • 验证sf对象的几何类型(你的nc是多边形,符合geom_sf的边框调整逻辑)

内容的提问来源于stack exchange,提问作者myflow

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:55:20