gpt4 book ai didi

r - ggplot - 在不同颜色范围内映射低于和高于阈值的值

转载 作者:行者123 更新时间:2023-12-02 17:02:04 28 4
gpt4 key购买 nike

在下面的示例中,我想在蓝色配色方案(从最接近 100 的浅蓝色到最大值的深蓝色)中为高于 100 的值着色,在暖色范围(从黄色开始)中为低于 100 的值着色最接近 100 的最小值为红色)。请参阅下面的颜色范围示例。有人可以帮助我吗?我尝试了几种不同的方法(包括下面的方法)但没有成功。非常感谢!

enter image description here

 #library
library(raster)
library(ggplot2)
library(maptools)
data("wrld_simpl")

#sample raster
r <- raster(ncol=36, nrow=18)
r[] <- (-ncell(r)/2+1):(ncell(r)/2)
plot(r)

var_df <- as.data.frame(rasterToPoints(r))

#plotting
p <- ggplot()
p <- p + geom_raster(data = var_df , aes(x = x, y = y, fill = layer))
p <- p + coord_equal()
p <- p + scale_fill_gradient2(low = muted("red"), mid = "white",
high = muted("blue"), midpoint = 100)
p

最佳答案

嗯...那么,您真的希望它在 layer=100 处准确拆分吗?

如果是,

#plotting
p <- ggplot()
p <- p + geom_raster(data = var_df , aes(x = x, y = y, fill = layer))
p <- p + coord_equal()
p <- p + scale_fill_gradientn(
colours=c("red", "yellow", "skyblue", "darkblue"),
values = rescale(c(min(var_df$layer),
100,
100.01,
max(var_df$layer))))

enter image description here

关于r - ggplot - 在不同颜色范围内映射低于和高于阈值的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53661843/

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