如何使用tmap库调整图例框:将相邻方形改为带间距矩形
调整tmap图例符号为带间距的矩形
嘿,这个需求完全可以通过tmap自带的布局参数轻松实现!咱们直接修改你的代码,加上几个控制图例细节的参数就行:
首先是你的原代码:
library(tmap) data("World") tm_shape(World) + tm_polygons("HPI")
接下来是调整后的代码,我会标注每个参数的作用:
library(tmap) data("World") tm_shape(World) + tm_polygons("HPI") + # 用tm_layout控制图例的符号样式与间距 tm_layout( legend.symbol.width = 1.2, # 调整符号宽度,让正方形变矩形 legend.symbol.height = 0.4, # 调整符号高度,控制矩形扁宽程度 legend.symbol.spacing = 0.6, # 设置相邻符号的垂直间距 legend.title.size = 1.1, # 可选:微调图例标题大小,让布局更协调 legend.text.size = 0.8 # 可选:微调图例文字大小 )
关键参数说明:
legend.symbol.width&legend.symbol.height:这两个参数直接控制图例符号的宽高比例,把宽度设得大于高度,就能把默认的正方形改成矩形;legend.symbol.spacing:控制相邻颜色框之间的垂直间距,如果是水平排列的图例,可以用legend.symbol.spacing.x来调整水平间距;- 要是你想更明确指定符号类型,也可以在
tm_polygons()里加上legend.shape = 15(tmap中15代表填充矩形,确保符号样式符合预期)。
你可以根据书籍示例图的效果,微调width、height和spacing的数值,直到达到满意的样式~
内容的提问来源于stack exchange,提问作者coleuch
相关产品推荐
相关产品推荐

