Размещение ключей легенды с помощью 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
Так выглядит легенда:
И вот чего бы я хотел: