我试图制作一系列具有以下特点的地图:
我想将tracts$pop.compare的颜色设置为:0-.75(绿色),.75-1.25(绿色),1.25-2(黄色),2-3(橙色),3-10(红色),10+(黑色)。我尝试了下面的代码,但是所有的0-3都是蓝色的,然后3-10是黄色的,我不知道为什么。
ggplot() +
geom_sf(data = tracts, mapping = aes(fill = pop.compare), show.legend = TRUE) +
scale_fill_stepsn(colours=c("blue", "green", "yellow", "orange", "red", "black"),
limits = c(0,227),
breaks = c(0.75, 1.25, 2, 3, 10)) +
coord_sf()(而且,并非所有的垃圾桶都装满了。有些是空的,没有一个域有这个值,但是我正在做一系列的映射,它们将在其他版本中被填充,并且希望保持相同的图例/值。我尝试了包含drop = FALSE,但是对于未使用的参数得到了一个错误)。

发布于 2022-01-24 15:20:53
基于@stomper的更新
ggplot() +
geom_sf(data = tracts, mapping = aes(fill = pop.compare), show.legend = TRUE) +
scale_fill_stepsn(colours=c("blue", "green", "yellow", "orange", "red", "black"),
limits = c(0,227),
breaks = c(0.75, 1.25, 2, 3, 10),
values = scales::rescale(c(0.375, 1, 1.625, 2.5, 6.5, 118.5))) +
coord_sf()这(某种程度上)可行。我是说,它适用于我的更复杂的版本。但是对于我发布的版本,以及上面的编辑,出于一些原因,绿色正在复制,因此黑色正在脱落。我猜这是值中的一个错误
https://stackoverflow.com/questions/70824622
复制相似问题