微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 R 中设置颜色条限制

如何解决在 R 中设置颜色条限制

我对 R 比较陌生。我正在尝试在网格图上设置颜色条限制,使用 scale_fill_gradient() 根据 R 中每个网格的平均高程着色。我想要一个大于可用海拔范围的固定颜色条,但我不知道如何包含它。

这是我当前使用的代码

 ggmap(basemap) + 
    geom_sf(data = grid,aes(fill = elevation),col = NA,show.legend = "polyGON",inherit.aes = FALSE,alpha=.8) +
    coord_sf(crs = 4326)+
    scale_fill_gradient(guide = guide_colorbar(title = 'Elevation',barheight = 10))

解决方法

尝试在 limits=c(min,max) 上设置 scale_fill_gradient

library(mapSpain)
library(sf)
library(tidyverse)

# Since you didn't provide an example...
# Create a mock grid
grid <- esp_get_ccaa("Cataluña",epsg = "3857") %>%
  st_make_grid(n = 40)

# Mock elevation between 0 and 20
grid <- st_as_sf(elevation = runif(length(grid),20),grid)

# Plot
ggplot() +
  geom_sf(
    data = grid,aes(fill = elevation),col = NA,show.legend = "POLYGON",inherit.aes = FALSE,alpha = .8
  ) +
  scale_fill_gradient(
    guide = guide_colorbar(title = "Elevation",barheight = 10)
  ) +
  labs(title = "No Limits")

# Solution
ggplot() +
  geom_sf(
    data = grid,barheight = 10),# Set your limits
    limits = c(-200,200)
  ) +
  labs(title = "With Limits")

reprex package (v2.0.0) 于 2021 年 5 月 31 日创建

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。