- 积分
- 325
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2019-3-28
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 11001阿百川 于 2019-9-19 11:20 编辑
大家好,本人python小白,在看了经验帖后尝试画某月海温的时候(后面还要算季节平均和距平),发现只能画出负值,和经验贴对比没发现哪里有问题,数据是sst.mnmean.nc。
一开始先用IDE看了数据结构:
下面是VS下运行的程序:
#sst_jja
import netCDF4 as nc
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
nc_ob = nc.Dataset('D:/data.sst/sst.mnmean.nc')
print(nc_ob.variables.keys())
lon = nc_ob.variables['lon']
lon = np.array(lon)
lat = nc_ob.variables['lat']
lat = np.array(lat)
temperature = nc_ob.variables['sst']
temperature = np.array(temperature)
temperature_need = temperature[1933,-90:90,0:358]
map = Basemap(llcrnrlon = 0, llcrnrlat = -90, urcrnrlon = 360, urcrnrlat = 90)
map.drawcoastlines()
map.drawcountries(linewidth = 0.8)
Lon,Lat = np.meshgrid(lon[-180:180],lat[-90:90])
X,Y = map(Lon,Lat)
c = map.contourf(X,Y, temperature_need, cmap = plt.cm.RdBu_r)
d = plt.contour(X,Y, temperature_need, colors = 'black')
map.colorbar(c)
parallels = np.linspace(-90,90,5)
map.drawparallels(parallels,labels = [True,False,False,False])
meridians = np.linspace(-180,180,5)
map.drawmeridians(meridians,labels = [False,False,False,True])
plt.title(r'sst_jja[0]',fontsize=22)
plt.show()
然后出图结果:
我找了很多地方没有找到对症的方法解决这个问题,这才发出来求助。
第一次发帖我也不太懂,希望请教一下大家,十分感谢!
|
-
|