首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ggplot2:“错误:必须从色调调色板中请求至少一种颜色。”用于绘制空间问题解决方案

ggplot2:“错误:必须从色调调色板中请求至少一种颜色。”用于绘制空间问题解决方案
EN

Stack Overflow用户
提问于 2021-07-02 23:42:59
回答 1查看 47关注 0票数 0

我有一个能够使用Prioritizr解决的空间问题的列表,但我不能绘制解决方案。

以下是问题列表:

代码语言:javascript
运行
复制
p <- readRDS("Input/Problems/01b_ProblemsIUCNLong.rds")

这是我用来解决这个问题的代码:

代码语言:javascript
运行
复制
s2 <- lapply(readRDS("Input/Problems/01b_ProblemsIUCNLong.rds"), function(x) {
    f <- solve(x, force= TRUE) %>% 
      st_as_sf(sf_column_name = "geometry")
    
    ff <- f %>% mutate(Selected_Area = round(nrow(f[f$solution_1 == 1,])/nrow(f), 1)*100)
  } )

然而,我似乎不能绘制它并继续得到相同的错误:

代码语言:javascript
运行
复制
IUCNonlyTarget10_withLP_plot <- ggplot() + 
+     geom_sf(data = s2[[1]], aes(fill = as.factor(solution_1), color = NA, size = 0.02, show.legend = FALSE)) +
+     scale_fill_manual(name = "Solution",
+                       values = pal_rich,
+                       labels = solution) +
+     geom_sf(data = world_sf, size = 0.05, fill = "grey20") +
+     coord_sf(xlim = c(st_bbox(Bndry)$xmin, st_bbox(Bndry)$xmax), 
+              ylim = c(st_bbox(Bndry)$ymin, st_bbox(Bndry)$ymax),
+              expand = TRUE) +
+     ggtitle("Target 10%") +
+     theme_bw() +
+     ggsave("Output/Figs/IUCNonlyTarget10_withLP_06.pdf", width = 20, height = 10, dpi = 300) +
+     ggsave("Output/Figs/IUCNonlyTarget10_withLP_06.png", width = 20, height = 10, dpi = 300)

Error: Must request at least one colour from a hue palette.
In addition: Warning message:
Ignoring unknown aesthetics: show.legend

有没有想过我可以解决这个问题?

我试着删除color = NA,也试着把它放在aes()之外,但是我得到了一个空图层……即使我检查了它不是一个空层...

这就是我所得到的

虽然它应该是这样的

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2021-07-04 00:32:57

这是括号里的错位。

代码语言:javascript
运行
复制
IUCNonlyTarget10_withLP_plot <- ggplot() + 
+     geom_sf(data = s2[[1]], aes(fill = as.factor(solution_1)), color = NA, size = 0.02, show.legend = FALSE) +
+     scale_fill_manual(name = "Solution",
+                       values = pal_rich,
+                       labels = solution) +
+     geom_sf(data = world_sf, size = 0.05, fill = "grey20") +
+     coord_sf(xlim = c(st_bbox(Bndry)$xmin, st_bbox(Bndry)$xmax), 
+              ylim = c(st_bbox(Bndry)$ymin, st_bbox(Bndry)$ymax),
+              expand = TRUE) +
+     ggtitle("Target 10%") +
+     theme_bw() +
+     ggsave("Output/Figs/IUCNonlyTarget10_withLP_06.pdf", width = 20, height = 10, dpi = 300) +
+     ggsave("Output/Figs/IUCNonlyTarget10_withLP_06.png", width = 20, height = 10, dpi = 300)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68228020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档