我在印度尼西亚水中有一个含有4维度(lon,lat,深度和时间)的盐度的NetCDF文件,下载数据:https://onedrive.live.com/redir?resid=6FFDD661570C7D0A%21177
我想使用levelplot
(rastesVis
包)绘制具有相同范围(最小 - 最大)值的盐度数据。不幸的是,我为每个情节获得了不同的价值范围。 at=seq(20, 35, 2)
在我的情节中没有定义相同的范围?
This is my script:
# Note: Work perfectly after update 'rasterVis package'
# import data
sal <- brick('data.nc', level=1, varname = "salinity")
sal[sal == -32767] <- NA
# colorramp
jet.colors <- colorRampPalette(c('#00007F', 'blue', '#007FFF',
'cyan','#7FFF7F', 'yellow', '#FF7F00',
'red', '#7F0000'))
# create levelplot
for (i in 1:5) { # 5 different time in the same depth/level
png = paste0('D:/sal_',i,'.png')
png(png, width=2200, height=2200, res=300)
print(levelplot(subset(sal,i),
col.regions = jet.colors(255),
at=seq(20, 34, 1),
yscale.components=yscale.raster.subticks,
xscale.components=xscale.raster.subticks,
margin=FALSE, ylab='latitude', xlab='longitude',
main='salinity (psu)'))
dev.off()
}