- 积分
 - 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() 
然后出图结果: 
 
 
我找了很多地方没有找到对症的方法解决这个问题,这才发出来求助。 
第一次发帖我也不太懂,希望请教一下大家,十分感谢! 
 
 
 |   
- 
 
 
 
 
 
 
 
 |