Размещение ключей легенды с помощью tmap / ggplot2 в R

Я пытаюсь создать карту, используя пакеты tmap или ggplot2, и мне нужно следовать некоторым внутренним рекомендациям по дизайну, в которых говорится, что ключи легенды должны быть разнесены и иметь прямоугольную форму.

Я пробовал tmap, но клавиши легенды квадратные и расположены друг над другом без промежутков. Я не могу понять, как изменить форму на прямоугольники и как разнести клавиши.

В ggplot2 я получаю прямоугольники, но расстояние кажется фиксированным. Есть ли способ разместить ключи в ggplot2 (или tmap)?

theme_opts <- list(theme(panel.grid.minor = element_blank(),
                     panel.grid.major = element_blank(),
                     panel.background = element_blank(),
                     plot.background = element_blank(),
                     panel.border = element_blank(),
                     axis.line = element_blank(),
                     axis.text.x = element_blank(),
                     axis.text.y = element_blank(),
                     axis.ticks = element_blank(),
                     axis.title.x = element_blank(),
                     axis.title.y = element_blank(),
                     legend.position=c(0.015, 0.7),
                     legend.background = element_rect(fill=alpha("white", 0)),
                     legend.key.width = unit(1, "cm"),
                     legend.key.height = unit(0.2, "cm"),
                     legend.spacing.y = unit(1, "cm"),
                     legend.title = element_text(size=14,  family="Tahoma"),
                     legend.text = element_text(size=12,  family="Tahoma")))

p <- ggplot() +
  geom_sf(data = map_data_full, aes(fill = TransmissionClassification), size = 0.5, color = "gray10") +
  scale_fill_manual(values = colours, breaks = transmission_levels) +
  geom_sf(data = map_data_borders, fill = NA, size = 1, color = "black") +
  coord_sf(xlim = c(1405044, 7120890), ylim = c(1291822, 5218781)) +
  theme_opts 

Так выглядит легенда:

Так выглядит легенда

И вот чего бы я хотел:

И это то, что я хотел бы


person Gakku    schedule 09.06.2020    source источник
comment
Что-то вроде этого помогает? Какой-нибудь код был бы хорош. stackoverflow.com/questions/52562542/   -  person william3031    schedule 11.06.2020
comment
Спасибо - с тех пор я пробовал ggplot, но столкнулся с той же проблемой. Попробую еще раз с tmap. Спасибо за совет.   -  person Gakku    schedule 13.06.2020
comment
Не повезло. На самом деле не работает. Обновление вопроса с помощью кода ggplot.   -  person Gakku    schedule 13.06.2020
comment
возможно это, если вы используете ggplot stackoverflow.com / questions / 32275113 /   -  person william3031    schedule 14.06.2020
comment
Не могли бы вы предоставить изображение с желаемым результатом?   -  person Orlando Sabogal    schedule 14.06.2020
comment
Спасибо @OrlandoSabogal Я включил изображение.   -  person Gakku    schedule 15.06.2020
comment
Спасибо @ william3031 - Я видел это, но, похоже, не работает с ключами формы.   -  person Gakku    schedule 15.06.2020