2016-11-10 13 views
3

Хотя построения растрового изображения, например:Обратный легенда в растровом

library(raster) 

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

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

enter image description here

Как я могу получить легенду, находясь в порядке возрастания, т.е. от 1 (верх) до 9 (внизу) ?

Я думал о legend.args, но не смог найти правильные аргументы.

ответ

0

Я пробовал немного, и я думаю, что нашел решение самостоятельно, хотя это не самый элегантный способ.

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) 

enter image description here

Во всяком случае, я оценил бы другие идеи!