爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 10526|回复: 4

[求助] 求问python画温度场图的时候出现错误怎么解决

[复制链接]

新浪微博达人勋

发表于 2020-7-10 13:42:31 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
import netCDF4
from netCDF4 import Dataset
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
nc_obj=Dataset('D://Anaconda//envs//py27//pressure-Part2//pressure//air.2009.nc')
print(nc_obj)
lon=nc_obj.variables['lon'][:]
lon = np.array(lon)
lat=nc_obj.variables['lat'][:]
lat = np.array(lat)
temperature = nc_obj.variables['air'][:]
输入到这一步时显示:MemoryError: Unable to allocate 995. MiB for an array with shape (1460, 17, 73, 144) and data type float32
我以为是空间不够,修改了虚拟内存大小,还是不行
求助各位大神
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-7-10 17:12:17 | 显示全部楼层
不应该啊 代码没问题啊  你把你数据给我看看
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-10 21:40:15 | 显示全部楼层
帅帅f 发表于 2020-7-10 17:12
不应该啊 代码没问题啊  你把你数据给我看看

好像是我的python版本问题,我之前是32位,用了64位的试了下,没有这个提示了,谢谢你
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-11 21:32:38 | 显示全部楼层
完整代码方便分享学习下吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-24 18:58:27 | 显示全部楼层
kingjames 发表于 2020-7-11 21:32
完整代码方便分享学习下吗?
  1. import netCDF4 as nc
  2. from netCDF4 import Dataset
  3. import numpy as np
  4. import matplotlib.pyplot as plt
  5. from mpl_toolkits.basemap import Basemap
  6. nc_obj=Dataset('D://Anaconda//pressure-Part2//pressure//air.2009.nc')
  7. print(nc_obj.variables.keys())#打印变量信息
  8. lon=nc_obj.variables['lon']
  9. lon=np.array(lon)
  10. lat=nc_obj.variables['lat']
  11. lat=np.array(lat)
  12. temperature=nc_obj.variables['air']
  13. temperature=np.array(temperature)
  14. level=nc_obj.variables['level']
  15. level = np.array(level)
  16. level_need = 5
  17. temperature_need = temperature[429,level_need,5:34,13:66]
  18. plt.figure(figsize=(16,8))
  19. map=Basemap(projection='cyl',llcrnrlat=10,urcrnrlat=90,llcrnrlon=25,urcrnrlon=165,resolution='l')
  20. map.drawcoastlines()
  21. map.drawcountries(linewidth=1.5)
  22. map.drawparallels(np.arange(10.,90.,5.),labels=[1,0,0,0],fontsize=15)
  23. map.drawmeridians(np.arange(25.,165.,15.),labels=[0,0,0,1],fontsize=15)
  24. map.drawlsmask()
  25. Lon,Lat=np.meshgrid(lon[13:66],lat[5:34])
  26. x,y=map(Lon,Lat)
  27. c=plt.contour(x,y,temperature_need,colors='red')
  28. plt.title('20090418 00h 500hpa',size=20)
  29. plt.savefig('air1.png')
  30. plt.show()
复制代码
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表