【问题标题】:How to fix vertical space in crowded tmap legend [R]如何在拥挤的 tmap 图例中修复垂直空间 [R]
【发布时间】:2018-09-29 14:13:31
【问题描述】:

如何解决 tmap 图例中的垂直空间问题,例如链接的基本 R 示例中显示的问题? (Vertical spaces in legendy.intersp 不是 tmap_add_legend() 识别的参数)

基本tmap代码:

library(sf)
library(tmap)
tm_shape(st_read(system.file('shape/nc.shp', package = 'sf'))) + 
  tm_polygons() + 
  tm_add_legend(
    type = 'symbol', 
    labels = c('Variable A', 'Variable B', 'Variable C', 'Variable D', 'Variable E'), 
    col = c('#832424FF', 'rosybrown4', 'red', 'red', '#4F8DC2'),
    shape = c(19, 19, 4, 5, 15)
  ) 

【问题讨论】:

    标签: r tmap


    【解决方案1】:

    我找不到您要求的图例项填充,但如果它符合您的目的,您可以稍微调整一下 sizelegend.text.size

    如果您想在单词之间添加填充,但不介意图例图标看起来更大/仍然靠得很近,

    s <- st_read(system.file('shape/nc.shp', package = 'sf'))
    tm_shape(s) + 
    tm_polygons() + 
    tm_add_legend(
        type = 'symbol', 
        labels = c('Variable A', 'Variable B', 'Variable C', 'Variable D', 'Variable E'), 
        col = c('#832424FF', 'rosybrown4', 'red', 'red', '#4F8DC2'),
        shape = c(19, 19, 4, 5, 15), 
        size = 1.2
    ) + 
    tm_layout(legend.text.size = 0.8)
    

    如果您想在图例图标之间放置填充但文本标签之间的距离还可以,

    tm_shape(s) + 
    tm_polygons() + 
    tm_add_legend(
        type = 'symbol', 
        labels = c('Variable A', 'Variable B', 'Variable C', 'Variable D', 'Variable E'), 
        col = c('#832424FF', 'rosybrown4', 'red', 'red', '#4F8DC2'),
        shape = c(19, 19, 4, 5, 15), 
        size = 0.5
    ) + 
    tm_layout(legend.text.size = 1.0)
    

    我希望有人能找到一个更好的选择来调整两个填充,但这可能同时满足您的目的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-11
      • 1970-01-01
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-15
      相关资源
      最近更新 更多