如何读取netcdf数据并在matplotlib Basemap上绘图

技术如何读取netcdf数据并在matplotlib Basemap上绘图这篇文章主要为大家展示了“如何读取netcdf数据并在matplotlib Basemap上绘图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑

本文主要向您展示如何读取netcdf数据并在matplotlib底图上绘制。内容简单易懂,条理清晰。希望能帮你解开疑惑。让边肖带领您学习如何阅读netcdf数据并绘制matplotlib底图。

Netcdf是一种数据格式;

Matplotlib是python中的一个绘图插件。

使用python进行地图效果是工作的需要。气象数据一般存储在netcdf中,python语言还没有深入研究,但已经按照要求达到了实现效果。

下面的代码详细列出了如何从netcdf读取数据以及在底图地图上绘制数据的效果。

Python的开发环境和各种轮子在下载代码,请百度搜索部署,我不太熟悉。下面的代码是基于python2.7开发的,netcdf的样例数据也可以从网上下载。

#设置编码格式,参考各种需要的类库。

#coding=utf-8

将matplotlib.pyplot导入为plt

将numpy作为np导入

导入scipy.ndimage

来自mpl_toolkits .底图导入底图,cm

将netCDF4导入为nc

将matplotlib.colors作为颜色导入

使用反斜杠的#netcdf文件的路径设置不同于windows常用的路径设置。

filename=' e :/git/grib2json/20171011/20171011-3KM _ west . NC '

#打开nc文件,从中根据变量获取数据,详细学习nc数据的格式。

数据=nc。数据集(文件名)

lat=data . variables[' XLAT '][:]。挤压()

lon=data . variables[' XLONG '][:]。挤压()

pm25=data . variables[' pm25 '][:]。挤压()

cutpm=pm25[20,4,]

#初始化底图对象,将坐标系设置为纬度和经度,然后是范围。

m=底图(epsg=4326,分辨率='i ',llcrnrlat=23,urcrnrlat=37,llcrnrlon=97,urcrnrlon=112)

图1=PLT . fig()

x,y=m(lon,lat)

#初始化颜色级别,根据不同的值渲染不同的颜色。

级别=[0,35,75,115,150,250,350,500]

myRBB=np.array([[153,219,231],[26,161,206],[0,123,217],[103,255,136],[10,227,50],[50,244,62],[228,243,62],[226,151,62]])

cmap=颜色。ListedColormap(myRBB/255.0)

norm=颜色。边界范数(边界=级别,ncolors=len(级别))

#根据上面的x\y\值数组在地图上绘制。

CS2=m.contourf(x,y,cutpm,cmap=cmap,alpha=0.75)

#画海岸线和国界

m . draw海岸线(线宽=0.5)

m.drawcounties(线宽=0.3)

plt.title('pm25 ',大小=20)

#加载底部附带的地图图像

m.etopo()

#显示绘图窗口

plt.show()

注意:使用时请去掉所有注释,很容易报错。以下是效果图:

如何读取netcdf数据并在matplotlib  Basemap上绘图

以上就是“如何读取netcdf数据并在matplotlib底图上绘制”一文的全部内容。感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/136913.html

(0)

相关推荐

  • 真丝裙,真丝裙贱上水就有痕迹怎么办

    技术真丝裙,真丝裙贱上水就有痕迹怎么办真丝绸的一个特性就是局部沾水后容易形成水渍痕迹。这是真丝纤维本身亲水性太强、局部在沾水后真丝裙,纤维大分子沾到水的部位,水分子跟纤维上的亲水性基团比如羟基(-OH)、氨基(-NH)发

    生活 2021年10月30日
  • php7.2运行失败怎么解决

    技术php7.2运行失败怎么解决本篇内容主要讲解“php7.2运行失败怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php7.2运行失败怎么解决”吧!

    攻略 2021年12月9日
  • python计算两个坐标点的距离(python怎么求两条直线的交点)

    技术Python怎么计算点到直线距离和直线间交点夹角这篇文章主要讲解了“Python怎么计算点到直线距离和直线间交点夹角”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Py

    攻略 2021年12月22日
  • 怎么使用C++写嵌入式代码

    技术怎么使用C++写嵌入式代码本篇内容介绍了“怎么使用C++写嵌入式代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!嵌

    攻略 2021年11月29日
  • 手指上长疣怎么治疗,手上长的瘊子怎么正确处理

    技术手指上长疣怎么治疗,手上长的瘊子怎么正确处理瘊子是一种称之为hpv的病毒感染引起的局部增生,长在手上的叫做寻常疣,部分人由于不知道是什么用指甲抠导致指甲周围也长出类似的瘊子叫做甲周疣手指上长疣怎么治疗。治疗瘊子的主要

    生活 2021年10月27日
  • Fundebug后端Node.js插件更新至0.2.0是否支持监控Express慢请求

    技术Fundebug后端Node.js插件更新至0.2.0是否支持监控Express慢请求Fundebug后端Node.js插件更新至0.2.0是否支持监控Express慢请求,很多新手对此不是很清楚,为了帮助大家解决这

    攻略 2021年10月21日