我想创建一个以0为中心的色阶。
以下代码:
library(raster)
librayr(RColorBrewer)
xmin = -124.413
xmax = -66.883
ymin = 25.9425
ymax = 48.9885
nrows = 215
ncols = 254
empty_raster = raster(xmn=xmin, ymn=ymin, nrows = nrows, ncols = ncols)
zscores_coords = cbind(seq(from=-124.413, to=-66.883, length.out=1212),
seq(from=25.9425, to=48.9885, length.out=1212))
zscores_raster = rasterize(zscores_coords, empty_raster, field = 1)
x_coord_raster = rasterize(zscores_coords, zscores_raster,
field=zscores_coords[,1])
y_coord_raster = rasterize(zscores_coords, zscores_raster,
field=zscores_coords[,2])
BUD_zscores_coordinates =
data.frame(x = zscores_coords[,1], y = zscores_coords[,2],
BUD_zscores = seq(from=-20.51558, to=14.34510, length.out=1212))
coordinates(BUD_zscores_coordinates) = ~x+y
zscores_pres = rasterize(BUD_zscores_coordinates, zscores_raster, field=1)
zscores_points = rasterToPoints(zscores_pres)
zscores_points = zscores_points[,c(1:2)]
zscores_nodes = rasterize(BUD_zscores_coordinates, empty_raster,
field = BUD_zscores_coordinates$BUD_zscores,
fun = mean)
#Plot!
colorramp = brewer.pal(11,"RdBu")
applycolors = colorRampPalette(colorramp)
plot(zscores_nodes, xlim = c(xmin, xmax), ylim = c(ymin, ymax),
col = applycolors(100))
生成以下图形:
其中'0'在颜色渐变的浅蓝色部分。有什么建议可以使其与白色部分对齐吗?我尝试使用断点来解决问题,但没有成功。