- 积分
- 55950
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
发表于 2015-7-1 08:59:18
|
显示全部楼层
本帖最后由 MeteoInfo 于 2015-7-3 16:29 编辑
昨天对颜色设置的代码做了一些更新,重新上传了MeteoInfo_Java_1.2.6R3_Files.zip文件。你如果需要下面的效果需要重新下载该文件。
通过之前的绘图可以看出FY2C云分类共10类,-1其实是缺测值(在地球范围之外)。那么可以利用makecolors函数从cmap生成10个颜色的列表,然后将第一个颜色改为白色,就可以获得下面的效果(地球外的阴影部分没有了,其实是和背景色一致):
脚本代码:
- #Add data file
- fn = 'D:/Temp/hdf/FY2C_CLC_MLT_NOM_20070730_1800.hdf'
- f = addfile(fn)
- #Get data variable
- v = f['FY2C_Hourly_Cloud_Classification']
- #Set x/y
- x = linspace(-5750000.0,5750000.0, 2288)
- y = linspace(-5750000.0,5750000.0, 2288)
- #Set x/y dimensions
- v.setdim('Y', y)
- v.setdim('X', x)
- #Get data array
- cloud = v[:,:]
- #Plot
- ax, proj = axesm(proj='geos', lon_0=104.5, h=35785864, gridlabel=True, gridline=True, frameon=False)
- mlayer = shaperead('D:/Temp/map/country1.shp')
- geoshow(mlayer, edgecolor=(0,0,255))
- cols = makecolors(10, cmap='hotcold_18lev')
- cols[0] = 'w'
- layer = imshowm(x, y, cloud, proj=proj, colors=cols)
- colorbar(layer)
|
|