gpt4 book ai didi

r - 是否可以在带有 ggplot geom_sf 的 map 中使用单独的固定颜色

转载 作者:行者123 更新时间:2023-12-05 05:04:36 25 4
gpt4 key购买 nike

我的问题是,我有一个 sf 对象,我想用 ggplot 映射它并用因子变量的颜色填充县。我为每个因子级别定义了一种颜色,即使对数据帧进行子集化也应该固定该颜色。

我的问题是:我在图例中看到我的因素具有正确的颜色,我看到了我的 map ,但县没有填充任何颜色。

我的测试数据集在这里: https://wolke.netzbegruenung.de/s/wPfNEPrSkcsLaHX

第一步:

我定义了一个指标变量,它位于 0 和任何正值之间。高于 1 的值令人震惊。正常值低于 0.3。为了预测 future 会发生什么,我将用分类索引变量的颜色绘制我的县。因此,我用以下颜色定义了一个 data.frame:

brk <- c(0,0.1,0.5,0.6,0.8,0.9,1,Inf)
col <- c("greenyellow","chartreuse4","gold",
"darkgoldenrod1","orange","orangered3","red")
lab <- c("up to 0.1","up to 0.3","up to 0.6",
"up to 0.8","up to 0.9","up to 1","1 and more")

dfcol <-cbind.data.frame(lab,col) %>%
mutate(lab = factor(lab, levels = lab)

第二步:

我用这段代码作图:

ggplot()+
geom_sf(data = dfgeo,aes(fill = lab)) +
scale_fill_manual(values = col,
limits = brk[1:7],
labels = lab ) +
theme_void()

结果是:

我在图例中看到了我的因子 Variable lab。

我看到我的 map 上有我感兴趣的所有县的边界。

但是这些县并没有填充我分配给因子变量 lab 的任何颜色。

我的错误是什么?

感谢您的帮助!

最佳答案

一种可能的解决方案是完全合并两个数据框,以便显示所有值:

library(dplyr)
DF <- full_join(dfgeo, dfcol)

library(ggplot2)
ggplot(data = DF,aes(fill = lab))+
geom_sf() +
scale_fill_manual(values = col)

enter image description here

它是否回答了您的问题?

关于r - 是否可以在带有 ggplot geom_sf 的 map 中使用单独的固定颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60995362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com