- 积分
- 372
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2016-3-23
- 最后登录
- 1970-1-1
|
发表于 2020-5-29 09:06:48
|
显示全部楼层
本帖最后由 药草 于 2020-5-29 09:28 编辑
@mofangbao 站点插值成格点的绘图,我试过了,没有问题,就是我改了几个极值,我看极值没有显示和那个radius有关系吗?我知道用cressman需要调整多个插值半径,用idw应该没有问题啊,我感觉如果用代码先插值然后用grads绘图或者用surfer应该不会出这种问题,是否是我写的不对
这是我的代码
data='d://2.txt'
#Read station name and lon/lat
table = readtable(data, delimiter=',',format='%5f%5f%1f')
lon = table['lon']
lat = table['lat']
pm = table['value']
#To grid data
x = arange(113, 121, 0.05)
y = arange(34, 43, 0.05)
gtemp,gx,gy = griddata((lon, lat), pm, xi=(x, y), method='idw',radius=3)
axesm()
#levs = [0.1, 10, 25, 50, 100, 250]
#cols = [(255,255,255),(61,186,61),(166,242,143),(97,184,255),(0,0,255),(250,0,250),(128,0,64)]
levs = [0.1, 1, 2, 5, 10, 20, 25, 50, 100]
cols = [(255,255,255),(170,240,255),(120,230,240),(200,220,50),(240,220,20),(255,120,10),(255,90,10), \
(240,40,0),(180,10,0),(120,10,0)]
#deng zhi mian edgecolor='b'
layer = contourfm(x, y, gtemp,levs,colors=cols,smooth=True,alpha=1)
#zhan zhi
layer.addfield('value', 'string', pm)
layer.addlabels('value', fontsize=14, yoffset=15)
#maskout
masklayer(mlayer, [layer])
xlim(113, 120)
ylim(35.8, 43)
#legend
colorbar(layer)
|
|