爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索

[经验总结] Python读取nc数据和绘图

  [复制链接]

新浪微博达人勋

发表于 2020-7-17 17:13:50 | 显示全部楼层
平流层的萝卜 发表于 2020-7-17 10:16
u和v,分别平方,相加,再根号

好的,谢谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-24 11:10:34 | 显示全部楼层
平流层的萝卜 发表于 2020-7-1 09:26
[0,35:76,70:141] 0是指第一个时次,35:76是指在南北方向上,从北到南第34-74个格点,70:141是指东西方向 ...

不应该是第35~75个格点吗。。不太懂
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-24 11:27:28 | 显示全部楼层
wxylndd 发表于 2020-7-24 11:10
不应该是第35~75个格点吗。。不太懂

在python里,索引是从0开始的,0,1,2,3......
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-24 11:57:12 | 显示全部楼层
平流层的萝卜 发表于 2020-7-24 11:27
在python里,索引是从0开始的,0,1,2,3......

好的,谢谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-24 12:20:51 | 显示全部楼层
楼主你好,我想请问等温线不显示怎么解决。。代码如下
  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,42:71,13:66]
  18. plt.figure(figsize=(16,8))
  19. map=Basemap(projection='cyl',llcrnrlat=5,urcrnrlat=55,llcrnrlon=70,urcrnrlon=140,resolution='l')
  20. map.drawcoastlines()
  21. map.drawcountries(linewidth=1.5)
  22. map.drawcounties
  23. map.drawparallels(np.arange(3.,55.,5.),labels=[1,0,0,0],fontsize=15)
  24. map.drawmeridians(np.arange(70.,140.,10.),labels=[0,0,0,1],fontsize=15)
  25. map.drawlsmask()
  26. Lon,Lat=np.meshgrid(lon[13:66],lat[42:71])
  27. x,y=map(Lon,Lat)
  28. c=plt.contour(x,y,temperature_need,colors='red')
  29. plt.title('20090418 00h 500hpa',size=20)
  30. plt.savefig('air1.png')
  31. plt.show()
复制代码

出来的图没有等温线。。。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-24 15:15:16 | 显示全部楼层
temperature_need = temperature[429,level_need,42:71,13:66],你要保证这几个值在图上是可以画出来的。意思就是值在可以画的区间内。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-27 15:12:07 | 显示全部楼层
牛人,好好学习学习
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-8-12 08:13:23 来自手机 | 显示全部楼层
感谢楼主分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-8-18 17:18:30 | 显示全部楼层
真的是太有用
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-9-8 15:14:26 | 显示全部楼层
前来学习,膜拜大佬
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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