爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索

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

  [复制链接]

新浪微博达人勋

发表于 2018-1-18 21:54:36 | 显示全部楼层
{:eb303:}{:eb303:}{:eb303:}感谢楼主无私分享
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-1-24 13:48:39 | 显示全部楼层
谢谢 下载下来好好学习
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-1-24 13:48:50 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2018-1-24 13:49:01 | 显示全部楼层
{:eb303:}{:eb303:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-1-24 14:59:32 | 显示全部楼层
画填色加等值线图的程序里,为什么要写lats=lats[::-1]这一句呢
1.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-1-25 08:22:06 | 显示全部楼层
wency 发表于 2018-1-24 14:59
画填色加等值线图的程序里,为什么要写lats=lats[::-1]这一句呢

南北倒置,目的让 lats里高纬在前,低纬在后
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-1 17:28:34 | 显示全部楼层
学习了,感谢楼主分享
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-2 08:38:16 | 显示全部楼层
请教下楼主,我刚开始学习Python,读取nc文件中obj.variables中的variables这个属性的定义是在netcdf4里面默认的吗?我该怎么查找这个属性的定义。多谢楼主
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-2 09:39:30 | 显示全部楼层
你好,我在叠图的时候遇到了点问题,打扰请教一下。第一个是不知道怎么把经纬度网格线去掉(看起来碍眼睛,原谅我的强迫症),mdrawparallels和mdrawmeridians函数似乎都没有提供可以直接操作的方法。第二个不知道怎么叠地图,虽然我单独可以正确画出来地图。网上也没有找到明确的示例程序。我放一下自己的程序和出的图:
  1. import numpy as np
  2. import  matplotlib.pyplot as plt
  3. from scipy.io import loadmat
  4. from matplotlib.patches import Polygon
  5. from scipy.interpolate import griddata
  6. from mpl_toolkits.basemap import Basemap
  7. lonlat=loadmat('C:\Users\CQQXT\Documents\MATLAB\BP_forecast_onebyone\lonlat.mat')
  8. AnnualRain_Ratio=loadmat('C:\Users\CQQXT\Documents\MATLAB\BP_forecast_onebyone\AnnualRain_Ratio.mat')
  9. Rain_Ratio=loadmat('C:\Users\CQQXT\Documents\MATLAB\BP_forecast_onebyone\Rain_Ratio.mat')
  10. StnName=loadmat('C:\Users\CQQXT\Documents\MATLAB\BP_forecast_onebyone\StnName.mat')
  11. sample=loadmat('C:\Users\CQQXT\Documents\MATLAB\BP_forecast_onebyone\sample.mat')
  12. Token=loadmat('C:\Users\CQQXT\Documents\MATLAB\BP_forecast_onebyone\Token.mat')
  13. New_Rain_Ratio=loadmat('C:\Users\CQQXT\Documents\MATLAB\BP_forecast_onebyone\New_Rain_Ratio.mat')
  14. grid_lon,grid_lat=np.meshgrid(np.arange(105,110.5,0.1),np.arange(28,32.5,0.1))
  15. lon_lat=np.transpose(np.array([lonlat['lonlat'][:,0],lonlat['lonlat'][:,1]]))
  16. def PlotCqMap():
  17.    fig=plt.figure()
  18.    ax1=fig.add_axes([0.1,0.1,0.8,0.8])
  19.    bmap=Basemap(llcrnrlon=105,llcrnrlat=28,urcrnrlon=111,urcrnrlat=33)
  20.    shp_info=bmap.readshapefile('F:\\2016\\Youth_Foundation\\CHN_adm_shp\\CHN_adm3','states',drawbounds=False)
  21.    for info, shp in zip(bmap.states_info,bmap.states):
  22.        proid=info['NAME_1']
  23.        if proid=='Chongqing':
  24.            poly=Polygon(shp,facecolor='w',edgecolor='k',lw=0.5)
  25.            ax1.add_patch(poly)
  26.    bmap.drawparallels(np.arange(28,33,2),color='k',labels=[1,0,0,0])
  27.    bmap.drawmeridians(np.arange(105,110,2),color='k',labels=[0,0,0,1])
  28.    return
  29. for i in range(6):
  30.     plt.subplot(2,3,i+1)
  31.     agency=griddata(lon_lat,AnnualRain_Ratio['AnnualRain_Ratio'][:,i],(grid_lon,grid_lat),method='cubic')
  32.     plt.imshow(agency)
  33.     PlotCqMap
  34.     plt.title('cubic interpolation')
复制代码
Figure_1-1.png
Figure_1.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-2 16:16:30 | 显示全部楼层
真心不错 很好啊
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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