如何在levelplot(rasterVis)中设置范围值?

时间:2015-04-23 13:44:42

标签: r levelplot rastervis

我在印度尼西亚水中有一个含有4维度(lon,lat,深度和时间)的盐度的NetCDF文件,下载数据:https://onedrive.live.com/redir?resid=6FFDD661570C7D0A%21177

我想使用levelplotrastesVis包)绘制具有相同范围(最小 - 最大)值的盐度数据。不幸的是,我为每个情节获得了不同的价值范围。 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()
}

0 个答案:

没有答案