import matplotlib.pyplot as plt

import numpy as np

import xarray as xr

from mpl_toolkits import basemap

filename = r'D:\\era stastics\\June.nc' #filename = r'D:\\era stastics\\biye.nc'

f = xr.open_dataset(filename)

#print(f) #time,level,lat,lon顺序

lat = f['latitude'].data #这文件的lat是递减的  time,level,lat,lon

lon = f['longitude'].data #读lon

for j in range(1,4):

Time='2022-07-{}T00:00:00.000000000'.format(int(j))

u0=f.u.sel(level=850,time=Time,latitude=lat,longitude=lon)

v0=f.v.sel(level=850,time=Time,latitude=lat,longitude=lon)

z0=f.z.sel(level=850,time=Time,latitude=lat,longitude=lon)

# t0=f.t.sel(level=500,time=Time,latitude=lat,longitude=lon)

# temp=t0-273.15 #这nc文件温度是开尔文单位,-273.15变成摄氏度单位

zz=z0/98 #这nc文件z是位势,÷98

wind = np.sqrt(u0**2 + v0**2)

select = (wind>12)

select_region = np.where(select,wind,0) #选择的地方为原风速,否则为0

fig = plt.figure()

ax = plt.axes() #创建画布

plt.rcParams['font.sans-serif'] = ['SimHei']

plt.rcParams['axes.unicode_minus'] = False

m = basemap.Basemap(projection="cyl",lat_0 = 0, lon_0 = 0,llcrnrlon=80,urcrnrlon=140,llcrnrlat=10,urcrnrlat=60) #采用cea投影方式

#m.drawmapboundary(fill_color='LightSkyBlue') #画边界线

m.readshapefile('D:\Code\plot\map\gadm36_CHN_1','states',drawbounds=True)

m.readshapefile('D:\Code\plot\map\gadm36_TWN_1','taiwan',drawbounds=True)

m.readshapefile('D:\Code\plot\map\九段线', '九段线', drawbounds=True,linewidth=0.8)

#m.fillcontinents(color='wheat',lake_color='LightSkyBlue')

parallels = np.arange(10.,70.,10.)

meridians = np.arange(80.,150.,10.)

m.drawparallels(parallels,labels=[True,False,False,False],linewidth=0) #画出横线,这里标签位置是左右上下,lw=0不显示网格线

m.drawmeridians(meridians,labels=[False,False,False,True],linewidth=0) #画出竖线

X, Y = np.meshgrid(lon, lat)

lonn,latt = m(X, Y)

#z_level = np.arange(520,608,8) #-->如果画500hPa用这行

#z_level = np.arange(288, 320, 4) #-->画700hPa用这行

z_level = np.arange(128,196,4) #-->画850hPa用这行

c1=ax.contour(lonn,latt,zz,levels=z_level,colors='blue',linewidths=0.8,linestyles='-')#画等高线

ax.clabel(c1)

#c2 = ax.contour(lonn, latt, zz, levels=[588], colors='blue', linewidths=1.4, linestyles='-')

#ax.clabel(c2)

#t_level=np.arange(-45,20,8)

#c2=ax.contour(lonn,latt,temp,levels=t_level,colors='red',linewidths=0.6,linestyles='-')#画等高线

#ax.clabel(c2,inline=True)

ax.barbs(lonn[::7,::7],latt[::7,::7],u0[::7,::7],v0[::7,::7],length=4,barb_increments=dict(half=7,full=13,flag=55),linewidth=0.28,flagcolor='k',ls='-',pivot='tip')#画风羽

d = ax.contourf(lonn, latt, select_region,levels=[12,15,18,21,24],cmap='PuBu',extend='max')

ax.set_title('填色区: 大于12 m/s',loc='right',fontsize=10)

plt.title("202207{:02d} 08:00 850 hPa".format(int(j)), fontsize=20, y=1.05)

plt.savefig(r"D:\\June_Aug\\07{:02d} 850hPa.png".format(int(j))) #{02d}表示2位数显示,不满足2位数则前面补零

plt.show()

basemap画天气图(and风速急流区)相关推荐

  1. arcgis 删除图形重复折点_【干货】ArcGIS中画环状图斑、挑子区及消除图斑重复区域...

    原标题:[干货]ArcGIS中画环状图斑.挑子区及消除图斑重复区域 ArcGIS的Editor菜单下,有许多功能我们不经常用,但是在如果仔细的研究下就会发现,其实许多功能是相当实用的. 1.绘制环状图 ...

  2. 利用Basemap画世界地图

    最近帮物理海洋专业的同学画图,发给我的数据文件是nc文件,里面是动力高度网格数据,需要任选一点在地图上标注,且画出该点的时间序列. NetCDF(network Common Data Form)网络 ...

  3. cad图形不见了怎么办_CAD画了线但是绘图区看不见怎么办?【AutoCAD教程】

    CAD画了线但是不显示,原因有以下几种: 一.绘图次序不合适 最明显的情况是插入光栅图像后,插入光栅图像再执行绘图命令,线条确实是按照命令行提示一步步画上去了但是绘图区不显示,通过框选或点选可以选中的 ...

  4. python画箭头表示风速风向_python画风羽及风羽定义

    basemap使用手册:链接:https://pan.baidu.com/s/1CUgQcsuYMbJAdCuij4WsLQ 提取码:aw16 如果想用箭头画风场,请看另一篇python matplo ...

  5. 人工智能取代医生AI画出鼻咽癌放疗靶区,准确性与医生相当

    鼻咽癌是我国常见de头jing部肿瘤中国鼻咽癌发bing率居quan球第yi,其中广东省高发区的发病率为世界平均水平的40倍,因此鼻咽肿瘤也被称为"广东瘤".孙ying说,这是唯一 ...

  6. Python基于basemap画论文级别的多子图空间场

    前言 对于地学研究中,常见的就是画带有地图的空间场,在python中常用的就是基于basemap(好像停止更新了,不太确定)和cartopy(英国气象局开发,越来越完善)进行绘制,本文基于basema ...

  7. Python下basemap画出的各种地图

    刚接触Python的basemap库时,被它所能产生的效果震撼了. 但是在深入的学习时发现网上很难找到系统的中文教程,仅能搜到一些博客文章里讲到的某些知识点,不成体系,就难以运用自如. 在网上看了看官 ...

  8. matplotlib+basemap画出标记地图

    参考地址:https://mp.weixin.qq.com/s/Mni6ZLGC5jlUzMVpglv6JA               https://www.cnblogs.com/ameile/ ...

  9. windows下python安装basemap,画世界地图以及根据经纬度标点

    环境安装 1.确定自己的python环境安装完毕且已配置好环境变量 2.安装geos:pip install geos 3.直接使用pip3 install pyproj 可能会安装错误,所以需要自己 ...

最新文章

  1. 计算机模型与体系架构的发展——从图灵机到云计算机1
  2. 要求输入框里面必须同时含有字母,数字,特殊字符,且不小于8位
  3. 前端将二进制数据流转为文件_前端通过二进制流下载文件
  4. k8s核心技术-配置管理_Secret_以变量形式使用Secret文件_以及以数据卷的形式使用Secret文件---K8S_Google工作笔记0036
  5. 什么是面向过程?什么是面向对象?面向对象的三大基本特征是什么?
  6. 单链表(线性表的链式存储)---C语言版
  7. activiti高亮显示图片_Excel全自动甘特图,工作进度显示,极简设计快手套用
  8. 通过【Windows10安装程序---MediaCreationTool】来制作并安装Win10正式版
  9. 分享一个关于跨境电商的竞品分析报告
  10. 用友软件用友二次开发用友单据导入用友凭证导入工具用友EXCEL导入工具EXCEL导入凭证
  11. 仓库ERP管理系统(springboot)设计与实现,你看这篇就够了
  12. 南桥和北桥-主板芯片组发展史
  13. 给IOS初学者及新手的建议
  14. 在销量压力下,国产手机开始降价了,但还没有放下最后的面子
  15. HTML5 Json解析
  16. HDU5172 - GTY's gay friends - 哈希
  17. MP3就是MPEG-3吗
  18. python中 fitz 库和 pdfplumber 混合操作
  19. 【轨迹数据集】GPS轨迹数据集整理
  20. 2021年安徽省大数据与人工智能竞赛人工智能现场赛2和3题

热门文章

  1. 毕业设计 深度学习 机器视觉 人脸识别系统 - opencv python
  2. 使用CURL检测Clinet侧发起的HTTP请求各阶段时间
  3. mysql mmm 不更新_mysql-mmm故障解决一例
  4. ubuntu18.04上安装anaconda-python深度学习环境
  5. 设置elementplus主题色(全局设置)
  6. 解决DLL注册失败的方法
  7. php jpg png图片,jpg png格式是什么意思
  8. week6-Word Embedding
  9. 字节,b,Kb, Mb,Gb 以及GB之间的转换
  10. [统计学教程] 第二章 统计调查