以下代码
n_half <- 500
col_neg <- grDevices::colorRampPalette(colors = c("red", "white"), space = "Lab")(n_half)
col_pos <- grDevices::colorRampPalette(colors = c("white", "blue"), space = "Lab")(n_half)
map_palette <- c(col_neg, col_pos)
return(sp::spplot(map, col.regions = map_palette))
我想格式化色带调色板,使得蓝色严格是正数,红色严格是负数,任何0值都只留白色。在此处的地图中,蓝色坡道中出现0,蓝色的低端处出现一些负值。
有没有一种方法可以使该比例在0左右居中,以使蓝色为正,红色为负,白色为0?
编辑:我也意识到,由于数据的性质,我不太可能会得到严格的0值;即可能是0.00001或-0.00001。无论如何,我仍然希望0本身的值不会以红色或蓝色渐变结束,而只是以白色为自己。