【发布时间】:2021-10-14 14:03:31
【问题描述】:
我正在尝试使用新的(ish)terra R 包复制我在raster 中制作的情节,但terra::plot 中的alpha 参数似乎与它的工作方式不同在raster。
我正在尝试使用 alpha 层来指示基础(彩色)层中的不确定性。下面是一些表明我的问题的简化代码。使用raster 包,alpha 层会根据每个单独像素的值更改透明度。使用 terra 时,这似乎不起作用。
我想我正在使用最新版本的terra (1.3.4),并且我使用的是 Mac(版本 15.5.11)。
library(terra)
library(raster)
par(mfrow=c(1,2))
plot_cols<-terrain.colors(n=5)
## raster package
raster.template<-raster(xmn=1, xmx=5, ymn=1, ymx=5, nrows=5, ncols=5)
legend.ras.comm<-raster.template
legend.ras.comm[]<-rep(c(5,4,3,2,1), 5)
legend.ras.alpha<-raster.template
legend.ras.alpha[]<-rep(c(0.9,0.7,0.45,0.2,0), 5)
plot(t(legend.ras.comm), col=plot_cols, legend=FALSE, axes=FALSE, box=FALSE, main="Raster package")
plot(t(legend.ras.comm), col="#000000", alpha=legend.ras.alpha, add=TRUE, legend=FALSE)
## terra package
raster.template<-rast(xmin=1, xmax=5, ymin=1, ymax=5, nrows=5, ncols=5)
legend.ras.comm<-raster.template
legend.ras.comm[]<-rep(c(5,4,3,2,1), 5)
legend.ras.alpha<-raster.template
legend.ras.alpha[]<-rep(c(0.9,0.7,0.45,0.2,0), 5)
plot(t(legend.ras.comm), col=plot_cols, legend=FALSE, axes=FALSE, main="Terra package")
plot(t(legend.ras.comm), col="#000000", alpha=legend.ras.alpha, add=TRUE, legend=FALSE, axes=FALSE)
对此的任何帮助将不胜感激。
【问题讨论】: