1

我正在尝试使用 Basemap 实例绘制以下数据集:

[-0.126929 -0.127279 -0.127851 ..., -0.14199 -0.142828 -0.14335 ]

问题是我无法在地图上显示正确数量的点。(这是我上面的数据列表的长度 = 1315 点)。

如果我将我的数据集定义为:

数据 = np.diag(数据)

[[-0.126929 0. 0. ..., 0. 0. 0. ] [ 0. -0.127279 0. ..., 0. 0. 0. ] [ 0. 0. -0.127851 ..., 0. 0. 0. ] ..., [ 0. 0. 0. ..., -0.14199 0. 0. ] [ 0. 0. 0. ..., 0. -0.142828 0. ] [ 0. 0. 0. ..., 0. 0. -0.14335 ]]

我有这个图 在此处输入图像描述

如果我将我的数据集定义为:

数据 = np.ma.masked_where(数据==0.,数据)

[[-0.12692899999999696 -- -- ..., -- -- --] [-- -0.12727900000000147 -- ..., -- -- --] [-- -- -0.12785099999999971 ..., -- -- --] ..., [-- -- -- ..., -0.14198999999999984 -- --] [-- -- -- ..., -- -0.1428280000000015 --] [-- -- -- ..., -- -- -0.1433499999999981]]

我有这个图 在此处输入图像描述

fig = plt.figure()     

m = Basemap(projection='mill',      \
            llcrnrlon= lonmin-0.02, \
            urcrnrlon= lonmax+0.02, \
            llcrnrlat= latmin-0.02, \
            urcrnrlat= latmax+0.02, \
            resolution='f')     

cmap = plt.cm.get_cmap('bwr_r')

x, y = m(*np.meshgrid(lon,lat))
y = y.T 
cs = m.contourf(x,y,data,cmap=cmap)

m.drawcoastlines(linewidth=1.,color='grey')
m.drawcountries(linewidth=1.5,color='white')
m.drawmapboundary(color='k',linewidth=2.0)
m.fillcontinents(color='white')           

cb = m.colorbar(cs,location='bottom',size='5%',pad='8%')
cb.set_label('[m]',fontsize=12)
plt.show() 
4

0 回答 0