请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 322|回复: 6

[求助] (已解决)求问如何用python把nc数据绘制成这种图

[复制链接]

新浪微博达人勋

发表于 2020-6-30 17:34:15 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 leeying422 于 2020-7-1 19:34 编辑

python小白,手上有关于一定经纬度海域的sst数据,想把它画成这样,请问有大佬可以帮忙指教一下么
QPRD6YAN[E%8)(7Z(WJC5UW.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2020-6-30 17:39:06 | 显示全部楼层
补充一个sst的nc数据,就是处理想把这个nc数据给画出来

sst.nc

201.68 KB, 下载次数: 5, 下载积分: 金钱 -5

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

使用道具 举报

新浪微博达人勋

发表于 2020-6-30 17:58:54 | 显示全部楼层
这个只有边框不好添加吧,其他的都挺简单的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-6-30 18:05:23 | 显示全部楼层
啊求大佬指教 我现在是外面的经纬度啥的都有了 但是就是不着色C:\Users\lenovo\Desktop\UK%MFK~U3YDAN0B96R3TZ{P
UK%MFK~U3YDAN0B96R3TZ{P.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-30 21:34:05 | 显示全部楼层
这个挺简单的啊...
sst.png

  1. import numpy as np
  2. import netCDF4 as nc
  3. import matplotlib.pyplot as plt
  4. from mpl_toolkits.basemap import Basemap

  5. raw=nc.Dataset('sst.nc')
  6. print(raw)
  7. lat=raw.variables['latitude'][:]
  8. lon=raw.variables['longitude'][:]
  9. sst=raw.variables['sst'][0]

  10. lon_leftup=100;lat_leftup=50
  11. lon_rightdown=170;lat_rightdown=0

  12. fig, ax = plt.subplots(figsize=(10,9))
  13. m = Basemap(projection='cyl', llcrnrlat=lat_rightdown, urcrnrlat=lat_leftup, llcrnrlon=lon_leftup, urcrnrlon=lon_rightdown, resolution='l')
  14. m.drawcoastlines(linewidth=0.6, color='black')
  15. m.fillcontinents(color='w',lake_color='w')

  16. m.drawmapboundary(fill_color='w')

  17. parallels = np.arange(0,60,10)
  18. m.drawparallels(parallels,labels=[True,False,False,False],linewidth=0.4,dashes=[1,4],size=12)
  19. meridians = np.arange(100,180,10)
  20. m.drawmeridians(meridians,labels=[False,False,False,True],linewidth=0.4,dashes=[1,4],size=12)
  21. plt.yticks(parallels,len(parallels)*[''])
  22. plt.xticks(meridians,len(meridians)*[''])

  23. lons, lats = np.meshgrid(lon,lat)
  24. x, y = m(lons, lats)
  25. cf=m.contourf(x,y,sst-273.15,levels=np.arange(0,33,1),cmap='jet',extend='both')
  26. cb = plt.colorbar(cf, ax=ax, shrink=0.6, aspect=20, orientation='vertical')

  27. plt.savefig('sst.png', dpi=200, bbox_inches='tight')
  28. plt.show()
复制代码


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

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-6-30 22:16:49 | 显示全部楼层
Masterpiece 发表于 2020-6-30 21:34
这个挺简单的啊...

啊啊啊啊啊啊啊啊啊啊啊啊非常感谢您!!!!!因为我刚学python画图所以动手能力真的有些鸡肋 非常感谢您的帮助!感谢!!我运行成功了 真的非常感谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-1 16:21:57 | 显示全部楼层
Masterpiece 发表于 2020-6-30 21:34
这个挺简单的啊...

您好 我想再冒昧的请教您 请问您会用python绘制风场图么 我这里有关于一部分海域的u10v10风的nc数据 但是查询了很多资料 没有找到关于绘制特定区域的风场图 冒昧请教您有这方面的经验么

xyz.nc

598.43 KB, 下载次数: 0, 下载积分: 金钱 -5

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

使用道具 举报

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

本版积分规则

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

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

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