【发布时间】:2021-12-04 00:06:01
【问题描述】:
这里的想法是为每个geom 绘制一个具有相同美感的图例。在下面的示例中,生成的图例假设这两个不同的图层具有相同的比例,从而产生了这张地图。
因此,我希望图表中的图例被分成两部分,因此我可以为每一层使用 scale_fill_* 更改它们。
我知道这个解决方案:https://stackoverflow.com/a/24874007/11056037,但我正在寻找一种更优雅和可扩展的方式来做到这一点。
library(tidyverse)
library(sf)
library(geobr)
mun <- map(11:12, read_municipality) %>%
map(mutate, index = seq_along(code_muni), .before = geom)
mun[[2]] <- mun[[2]] %>%
mutate(index = index + 100)
mun <- mun %>%
map(
~mutate(.x, index = cut(index, quantile(index), include.lowest = TRUE))
)
ggplot() +
geom_sf(data = mun[[1]], aes(fill = index)) +
geom_sf(data = mun[[2]], aes(fill = index))
谢谢。
【问题讨论】:
-
不仅仅是语义,并且为了阐明图形的语法(ggplot 中的 gg 位)——图例将始终映射到美学,即映射到几何图形的“外观”。
-
这能回答你的问题吗? Legends for multiple fills in ggplot
-
不,但 stefan 的回答解决了问题。谢谢!