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

使用tmap包tm_dots函数为地图点添加边框失效问题咨询

解决tmap中tm_dots边框不显示的问题

问题出在点形状(shape)的默认设置上:tmap里tm_dots()默认使用无边框的实心形状(如shape=16),这类形状不支持边框参数,哪怕设置了border.col、border.lwd也不会显示边框。

修复方法

指定带边框的点形状即可,比如shape=21(填充色+边框的圆形),同时可以调整边框宽度让效果更明显:

library(tmap)

data(World, metro)

tm_shape(World) +
  tm_polygons() +
  
  tm_shape(metro) +
  tm_dots(col = "red", size = "pop2020", border.col = "blue", shape=21, border.lwd=2) +
  
  tm_layout(title = "World Cities Map")

补充说明

  • 不同shape值对应不同点样式:shape=21-25都是带边框的填充形状,shape=1-15多为空心或无边框样式。
  • 若用tm_symbols()替代tm_dots(),同样需要指定带边框的shape才能显示边框,逻辑和tm_dots()一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 07:02:03