netcdf数据在matplotlib Basemap出图

简介: 使用python,将netcdf数据在matplotlib Basemap出图

netcdf是一种数据格式;

netcdf的介绍网址,参见百度百科:https://baike.baidu.com/item/netCDF/6000434

matplotlib是python中的一个画图插件;

matplotlib的介绍网址,参见百度百科:

https://baike.baidu.com/item/Matplotlib/20436231?fr=aladdin

使用python做地图效果的,是工作中的需要,气象数据一般都存在netcdf中,也没有深入学习python语言,只是按照要求达到了个实现效果。

下边的代码是详细列举了如何从netcdf中读取数据,在绘制在basemap地图上的效果;

python的开发环境和下载代码中的各种轮子,请百度搜索去部署,我也不熟,下边的代码是基于python2.7进行开发的,netcdf的样例数据从网上也能下载到;

#设置编码格式,引用所需要的各种类库

#coding=utf-8 
import matplotlib.pyplot as plt
import numpy as np
import scipy.ndimage
from mpl_toolkits.basemap import Basemap, cm
import netCDF4 as nc
import matplotlib.colors as colors
#netcdf文件的路径设置,使用反向斜杠,和windows常用不一样
filename="E:/git/grib2json/20171011/20171011-3KM_WEST.nc"
#打开nc文件,从中按照变量获取数据,详细学习nc数据中的格式
data=nc.Dataset(filename)
lat= data.variables['XLAT'][:].squeeze()
lon= data.variables['XLONG'][:].squeeze()
pm25=data.variables['pm25'][:].squeeze()
cutpm= pm25[20, 4, :, :]
#初始化一个basemap的对象,设置坐标系为经纬度,后边是范围
m = Basemap(epsg=4326,resolution='i',llcrnrlat=23,urcrnrlat=37,llcrnrlon=97,urcrnrlon=112)
fig1 = plt.figure() 
x, y = m(lon, lat) 
# 初始化设置颜色级别,根据不同的值渲染不同颜色
levels = [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 = colors.ListedColormap(myRBB / 255.0)
norm = colors.BoundaryNorm(boundaries=levels, ncolors=len(levels))
#根据以上的x\y\值数组,在地图上进行画图
CS2 = m.contourf(x, y, cutpm,cmap=cmap,alpha=0.75)
#画海岸线和国家边界
m.drawcoastlines(linewidth=0.5)
m.drawcounties(linewidth=0.3)
plt.title('pm25', size=20)
#加载个base自带的地图图片
m.etopo()
#显示绘画窗口
plt.show()

注:使用时,请去掉所有注释,容易报错

以下是效果图:
image.png

相关文章
|
4月前
|
数据可视化 Python
python数据可视化 - matplotlib专题:带数据标签的双batch的Bar图绘制示例
python数据可视化 - matplotlib专题:带数据标签的双batch的Bar图绘制示例
36 0
|
6月前
|
数据可视化 程序员 Python
python生成可视化数据(matplotlib)进阶版
上期我们讲到如何用matplotlib模块将表格里的数据转换成可视化的折线图,但是,这里会有一个问题,表格里的数据是死的,是我随手创建的。在这一期,我将讲解如何通过requests+matplotlib等编写一个真实数据的可视化内容。
|
8月前
|
编解码 数据可视化 索引
Matplotlib引领数据图表绘制
Matplotlib引领数据图表绘制
|
15天前
|
搜索推荐 数据可视化 Python
Matplotlib图表中的数据标签与图例设置
【4月更文挑战第17天】这篇文章介绍了如何在Python的Matplotlib库中设置数据标签和图例,以增强图表的可读性和解释性。主要内容包括:使用`text`函数添加基本和自定义数据标签,以及自动和手动创建图例。图例的位置和样式可通过`loc`和相关参数调整。文章强调了数据标签和图例结合使用的重要性,提供了一个综合示例来展示实践方法。良好的图表设计旨在清晰有效地传达信息。
|
2月前
|
数据可视化 数据挖掘 Python
Python中的数据可视化工具Matplotlib简介与实践
在本文中,我们将介绍Python中常用的数据可视化工具Matplotlib,包括其基本概念、常用功能以及实际应用。通过学习Matplotlib,读者可以更好地理解和运用数据可视化技术,提升数据分析与展示的能力。
|
2月前
|
数据可视化 Python
Python中的数据可视化:利用Matplotlib和Seaborn揭示数据的秘密
【2月更文挑战第12天】在这个数据驱动的时代,数据可视化成为了一种强大的沟通工具,它能够将复杂的数据集转化为直观、易于理解的图形。本文将探讨如何使用Python中的两个流行库——Matplotlib和Seaborn——来创建美观且富有信息量的图表。我们将从基本概念入手,逐步深入到高级技巧,最终通过一个实际案例,展示如何利用这些工具揭示数据背后的深层次信息。不同于传统的技术文章,我们将通过一个连贯的故事线,引领读者从零开始,一步步深入数据可视化的世界,让读者不仅学会技术,更能感受到数据可视化的魅力。
|
3月前
|
数据可视化 数据挖掘 Python
Python中的数据可视化工具Matplotlib详解
本文将深入探讨Python中广泛应用的数据可视化工具Matplotlib,介绍其基本概念、常用功能和实际应用,帮助读者更好地利用Matplotlib进行数据可视化,提升技术水平。
|
5月前
|
存储 数据可视化 定位技术
Python中matplotlib为多个列表数据绘制小提琴图
Python中matplotlib为多个列表数据绘制小提琴图
|
6月前
|
数据挖掘 Python
如何使用Matplotlib模块的text()函数给柱形图添加美丽的标签数据?
如何使用Matplotlib模块的text()函数给柱形图添加美丽的标签数据?
63 4
|
9月前
|
数据可视化 数据挖掘 Python
画出你的数据故事:Python中Matplotlib使用从基础到高级
画出你的数据故事:Python中Matplotlib使用从基础到高级
88 0