爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13349|回复: 1

[求助] 利用nc数据绘制时间-纬度剖面图问题

[复制链接]

新浪微博达人勋

发表于 2020-6-28 12:58:24 | 显示全部楼层 |阅读模式

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

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

x
最近在模仿大佬的代码(https://www.jianshu.com/p/ec4ec5017b04)绘制剖面图,其中,经纬度及气压等都能正常显示,但是碰到时间就不行了,不知道是哪里出了问题,图本身应该是对的,但是X轴不显示坐标,代码也没有报错,希望帮忙看下,谢谢!下附代码:(nc数据为ERA5下载的2018年850hPa月平均气温,纯粹为了测试)
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. import xarray as xr
  4. import pandas as pd
  5. from pandas.plotting import register_matplotlib_converters
  6. register_matplotlib_converters()
  7. plt.rc('font',family='Times New Roman') #更改全局字体为Times New Roman

  8. f = xr.open_dataset('F:/2018t.nc')
  9. t = f['t']
  10. time = t.coords['time']
  11. lat = t.coords['latitude']

  12. t = np.array(t).mean((2))-273.15 #对经度维求平均,使数据变为纬度-高度的2维数据,mean()里的数字代表第几维。
  13. t = t.transpose() #对数组进行维度转换

  14. fig1 = plt.figure(figsize=(12,8))
  15. f1_ax1 = fig1.add_axes([0.1, 0.1, 0.5, 0.5])
  16. c = f1_ax1.contourf(time,lat,t, extend = 'both',levels = np.arange(-24,26,4),cmap=plt.cm.RdBu_r)
  17. f1_ax1.set_xticks(pd.date_range(start='1/1/2018', end='1/12/2018',freq='M')) #横坐标日期范围及间隔
  18. f1_ax1.set_xticklabels(('Jan 01','Feb 01', 'Mar 01', 'Apr 01','May 01','Jun 01','Jul 01','Agu 01','Sep 01','Oct 01','Nov 01','Dec 01'))
  19. f1_ax1.set_yticks(np.arange(0,120,30))
  20. f1_ax1.set_yticklabels([r'0$^\degree

  21. , r'30$^\degree$N',r'60$^\degree$N',r'90$^\degree$N'])
  22. fig1.colorbar(c)

  23. plt.savefig("2018.png", dpi=500, bbox_inches='tight')
  24. plt.show()
复制代码


2018.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2020-7-2 17:49:35 | 显示全部楼层
https://yxy-biubiubiu.github.io/2020/07/02/lat-time-lev/ 根据大佬的代码修改,已能正常显示,有需要的也可以去大佬的个人网站去看看,满满干货!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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