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

如何解决tmap中图例文本、直方图过小及相关报错问题

tmap地图问题解决方案

图例文字/直方图尺寸调整(解决报错)

  • 图例说明文字:使用tm_layout(legend.text.size = 1.2)调整(数值按需修改),注意tmap中不存在legend.hist.size参数,不要用这个参数
  • 直方图文字(轴标签、刻度):在tm_histogram()里设置text.size参数,示例:tm_histogram(text.size = 1.1)
  • 图例标题(包含直方图的图例标题):用tm_layout(legend.title.size = 1.3)统一调整大小

图例与直方图字体不一致

  • 全局统一字体:通过tm_layout(fontfamily = "Arial")设置全局字体(替换为你需要的字体类型)
  • 直方图同步字体:在tm_histogram()中添加fontfamily = "Arial",确保和全局字体参数一致

地块间灰色轮廓消除

  • 矢量图层(如tm_polygons())中设置border.col = NA,直接去掉边界;如果需要保留边界,可设置为与填充色一致的颜色,示例:border.col = "#ffffff"
  • 制作系列地图时,要确保所有子图的边界参数统一设置,避免部分子图残留灰色轮廓

示例代码

library(tmap)
data(World)

# 人口分布子图
map_pop <- tm_shape(World) +
  tm_polygons("pop_est", border.col = NA) +
  tm_histogram("pop_est", text.size = 1.1, fontfamily = "Arial") +
  tm_layout(
    legend.text.size = 1.2,
    legend.title.size = 1.3,
    fontfamily = "Arial"
  )

# 人均GDP分布子图
map_gdp <- tm_shape(World) +
  tm_polygons("gdp_cap_est", border.col = NA) +
  tm_histogram("gdp_cap_est", text.size = 1.1, fontfamily = "Arial") +
  tm_layout(
    legend.text.size = 1.2,
    legend.title.size = 1.3,
    fontfamily = "Arial"
  )

# 组合系列地图
tmap_arrange(map_pop, map_gdp)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 07:35:12