I具有一个
SpatRast
对象,其中包含一个正变量,下限为0。但是,低于1.3的值表示空间分散体,而值高于1.3表示空间浓度。因此,我想使用以1.3分化的颜色比例来映射此栅格。这些值将需要以两种不同的方式映射,这是连续和间隔的。但是,对于这两种表示,由此产生的传奇都需要在底部显示0,最大值显示在顶部。
尽管我进行了各种尝试,但我无法设法获得我想要的东西。在这里,我使用间隔表示形式报告了一个最小的示例和结果图,但是我无法以相反的顺序显示传奇。然后,我还需要产生相应的表示,将变量视为连续。
我没有绑定到任何特定库。有了terra
rasterVis
和
ggplot2
,在每种情况下,我都偶然发现了其他障碍。另外,在我的示例中,我获得了带有
RColorBrewer
的调色板,但是我又没有专门绑定到此库。有人可以帮我吗?谢谢
library(RColorBrewer)
bks <- c(0,0.4,0.8,1.3,2,4,8,15,30)
cold <- rev(RColorBrewer::brewer.pal(3, "Blues"))
warm <- RColorBrewer::brewer.pal(((length(bks)-1)-length(cold)), "Reds")
colors <- c(cold, warm)
terra::plot(x,
breaks = bks,
col = colors,
box=F,
axes=F)
library(terra)
r <- rast(system.file("ex/elev.tif", package="terra"))
x <- scale_linear(r, 0, 30)
colors <- c('#3182BD', '#9ECAE1', '#DEEBF7', '#FEE5D9', '#FCAE91', '#FB6A4A', '#DE2D26', '#A50F15')
b <- classify(x, bks)
ord <- rev(levels(b)[[1]][,2])
terra::plot(b, col = colors, box=F, axes=F, sort=ord)