Criei um SpatRaster com o pacote terra em R e tenho dois agrupamentos de pontos dentro do SpatRaster maior, que então separo em grupos para observar os agrupamentos com mais detalhes. Uso terra::plot para plotar o SpatRaster maior e os grupos individuais, mas quero manter a escala de gradiente igual para todos os gráficos. O problema é que o intervalo de valores para cada um dos gráficos é diferente, e não consegui descobrir como definir os limites inferior e superior para o gradiente de cor de cada terra::plot para que sejam iguais, de modo que as cores sejam consistentes.
O pacote ggplot2 não funcionou para esses dados porque são dados SpatRaster, portanto scale_color_gradient
não funciona, tentei uma combinação do col
argumento em terra::plot
, como
plot(DTM_50570, main = "DTM", col = data.frame(from = 0, to = 2000, (terra.pal = terrain.colors(255))))
plot(DTM_50570, main = "DTM", col = data.frame(from = c(0, 1000), to = c(1000, 2000), col = terrain.colors(255)))
plot(DTM_50570, main = "DTM", col = data.frame(from = c(0:10:2550), to = c(0:10:2550), col = terrain.colors(255)))
sem sucesso.
Os dados que estou usando estão neste link: https://tinitaly.pi.ingv.it/Download_Area1_1.html , seção W50570.
Aqui está o código que uso para plotar e separar os grupos:
library(terra)
DTM_50570_32632 <- rast(paste0("Downloads/w50570_s10/w50570_s10/w50570_s10.tif"))
DTM_50570 <- project(x = DTM_50570_32632, "EPSG:4326")
DTM_longitude <- c(11.80111, 11.80222, 11.80333, 11.95111, 11.95222, 11.95333)
DTM_latitude <-c(45.98333, 45.98777, 45.98555, 45.94111, 45.94888, 45.94333)
group_1_extent <- ext(11.80, 11.81, 45.98, 45.99)
DTM_group_1 <- crop(DTM_50570, group_1_extent)
group_2_extent <- ext(11.95, 11.96, 45.94, 45.95)
DTM_group_2 <- crop(DTM_50570, group_2_extent)
DTM_longitude_group_1 <- c(11.80111, 11.80222, 11.80333)
DTM_latitude_group_1 <-c(45.98333, 45.98777, 45.98555)
DTM_longitude_group_2 <- c(11.95111, 11.95222, 11.95333)
DTM_latitude_group_2 <-c(45.94111, 45.94888, 45.94333)
par(mfrow = c(1, 3))
plot(DTM_50570, main = "DTM")
points(DTM_longitude, DTM_latitude, pch = 20)
plot(DTM_group_1, main = "DTM group 1")
points(DTM_longitude_group_1, DTM_latitude_group_1, pch = 20)
plot(DTM_group_2, main = "DTM group 2")
points(DTM_longitude_group_2, DTM_latitude_group_2, pch = 20)
E os gráficos resultantes (todos com escalas de gradiente de cores diferentes)