Ограничения на размеры элементов легенды ggplot

#r #ggplot2 #legend

#r #ggplot2 #легенда

Вопрос:

Я пытаюсь создать «цветной» ключ легенды, который имеет толстую границу независимо от того, насколько она тонкая в соответствующем 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"))
  

Есть ли способ сделать «цветную» легенду, как на втором изображении, или, возможно, немного толще и уменьшить общий размер легенды?

Спасибо!