ggplot图例元素大小的限制

时间:2019-03-24 13:58:25

标签: r ggplot2 legend

我试图创建一个“彩色”图例键,该键具有较粗的边框,而与相应的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"))

有没有办法像第二幅图像那样制作“彩色”图例,或者可能更粗一些 并减小整体图例的大小?

谢谢!

0 个答案:

没有答案