光栅中的反转图例

Reverse legend in raster

绘制光栅图像时,例如:

library(raster)

r <- raster(nrow = 3, ncol = 3)
values(r) <- 1:9

plot(r, col = terrain.colors(255))

如何让图例按升序排列,即从 1(顶部)到 9(底部)?

我想到了 legend.args,但找不到合适的参数。

我试了一下,我想我自己找到了解决办法,尽管这不是最优雅的方法。

library(raster)

r <- raster(nrow = 3, ncol = 3)
values(r) <- 1:9

par(mar = c(3, 3, 4, 3))
plot(r, col = terrain.colors(255),legend = FALSE, xlim = c(-200,200),
    ylim = c(-200,200))

vz = matrix(1:100, nrow = 1)
vx = c(185, 195)
vy = seq(-10, 10, length.out = 100)

par(new = TRUE, mar = c(3, 3, 4, 3))
plot(1, xlab = "", ylab = "", axes = FALSE, type = "n",
    xlim = c(-200, 180), ylim = c(-20, 20))
image(vx, vy, vz, col = rev(terrain.colors(255)), axes = FALSE, 
    xlab = "", ylab = "", add = TRUE)
polygon(c(185, 195, 195, 185), c(-10, -10, 10, 10))
axis(4, at = seq(-10, 10, length.out = 9), labels = 9:1, las = 1)

无论如何,我会很感激其他想法!