Я пытаюсь создать «цветной» ключ легенды с толстой рамкой независимо от того, насколько он тонкий в соответствующем geom_sf. Эта легенда также должна иметь определенный размер.
library(sf)
library(dplyr)
library(stringr)
nc <- st_read(system.file("shape/nc.shp", package = "sf"))
nc_mod <- nc %>%
mutate(H_IN_NAME = if_else(str_detect(NAME, "h"), TRUE, FALSE))
g_legends <- ggplot(nc_mod) +
geom_sf(aes(fill = AREA)) +
geom_sf(aes(colour = H_IN_NAME), fill = NA, size = 0.2)
g_legends + theme(legend.key =
element_rect(size = 9))
Похоже, что на следующем изображении зарезервировано пространство для размера 7, но оно по-прежнему придерживается размера geom
для реального цвета.
g_legends + guides(colour = guide_legend(override.aes = list(size = 7, fill = NA)))
Здесь я переопределяю цвет, но, кажется, есть заглушка, поскольку толщина линии не соответствует 7.
Существуют ли такие "ограничения" или ограничения на размеры различных элементов легенды и как они определяются?
Наконец, когда я добавляю общий размер для ключей легенды (до или после), толщина границы снова игнорируется.
g_legends + guides(colour = guide_legend(override.aes = list(size = 7))) +
theme(legend.key.size = unit(0.3, "cm"))
Есть ли способ сделать «цветную» легенду, как на втором изображении, или, возможно, немного толще и , чтобы уменьшить общий размер легенды?
Спасибо!