Как исправить вертикальное пространство в многолюдной легенде Tmap [R] - PullRequest
0 голосов
/ 28 сентября 2018

Как я могу исправить проблемы с вертикальным пространством в легендах tmap, как показано в примере со ссылками на базовый R?( Вертикальные пробелы в легенде ; y.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)
  ) 

1 Ответ

0 голосов
/ 29 сентября 2018

Мне не удалось найти заполнение элемента легенды, как вы просили, но если оно соответствует вашим целям, вы можете немного настроить size и legend.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)

Я надеюсь, что кто-то найдет лучший вариант, который может регулировать оба отступа, но это может послужить вашей цели.

...