【Python实例】Python读取并绘制nc数据
【Python实例】Python读取并绘制nc数据
- 准备:安装netCDF库等
- 读取nc数据相关信息
- 绘制图形
- 利用basemap绘图
- 参考
准备:安装netCDF库等
以【1960-2020年中国1km分辨率月降水数据集】中2020年降水为例。
先在Panopoly中查看数据属性,如下:

右键绘制图形,如下:

读取nc数据相关信息
Python代码如下:
import netCDF4
from netCDF4 import Dataset
import matplotlib.pyplot as plt
import numpy as np# 打开下载的.nc文件
ncfile = Dataset("D:/0 DataBase/CN_Prec_MonthlyMean_1km_2020.nc/CN_Prec_MonthlyMean_1km_2020.nc")
print(ncfile.variables.keys())# 读取变量
lat = ncfile.variables['latitude'][:]
long = ncfile.variables['longitude'][:]
[X, Y] = np.meshgrid(lat, long) # 合成矩阵,将向量latitude和longitude定义的区域转换成矩阵X和Y
pre = ncfile.variables['pre'][:]
time = ncfile.variables['time'][:]# 绘制图形
plt.contourf(Y, X,pre[0])
plt.colorbar(label="MonthlyMean Precipitation", orientation="horizontal")
plt.show()# 关闭nc文件
ncfile.close()
输出属性如下:

绘制图形
利用basemap绘图
Python代码如下:
#利用basemap绘图
import netCDF4
from mpl_toolkits import basemap
from netCDF4 import Dataset
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np# 打开下载的.nc文件
ncfile = Dataset("D:/0 DataBase/CN_Prec_MonthlyMean_1km_2020.nc/CN_Prec_MonthlyMean_1km_2020.nc")# 读取变量
lat = ncfile.variables['latitude'][:]
long = ncfile.variables['longitude'][:]
[X, Y] = np.meshgrid(lat, long) # 合成矩阵,将向量latitude和longitude定义的区域转换成矩阵X和Y
pre = ncfile.variables['pre'][:]
time = ncfile.variables['time'][:]# 创建一个图形和一个轴
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111)# 设定标题
titleName = "MonthlyMean Precipitation"# 初始化Basemap对象,设置地图参数
# 设置投影方式:cyl为圆柱投影、还可设置merc为mercator投影,lcc兰伯特投影等。
# 参数 "resolution" 用于控制地图面积边缘的精细程度,有 'crude', 'low' and'intermediate' resolution datasets are installed by default.
# 如果需要'high' or 'full' resolution dataset,需要`conda install -c conda-forge basemap-data-hires`.
m = Basemap(lat_1=30, lat_2=62, lon_0=103, projection='lcc', resolution='i',llcrnrlon=80, llcrnrlat=10, urcrnrlon=145, urcrnrlat=55)# 设置经纬度
# 绘制纬度坐标,纬度每隔10度画一条线,且左侧和右侧标注纬度。
m.drawparallels(np.arange(10., 55., 10.), labels=[1, 1, 0, 0], fontsize=10)
# 绘制经度坐标,经度每隔10度画一条线,且上侧和下侧标注经度。
m.drawmeridians(np.arange(70., 160., 10.), labels=[0, 0, 1, 1], fontsize=10)# 形状文件的路径
#shp_path = "D:/0 DataBase/0 GBA Database/Boundary_Projected"
# 添加中国地图图层
#m.readshapefile(shp_path,'Boundary_Projected', drawbounds=True)# 添加大陆地图图层
m.fillcontinents(color="coral", lake_color="blue")
# 设定海洋的颜色
m.drawmapboundary(fill_color="aqua")# 在指定位置绘制坐标点
lon_me = long.mean()
lat_me = lat.mean()
lon_do, lat_do = np.meshgrid(lon_me, lat_me) # 生成网格点坐标矩阵# 转换经纬度到Basemap坐标系
xi, yi = m(lon_do, lat_do)
# print(xi,yi)
m.plot(xi, yi, "ro") # 绘制红色点
# 在指定位置标注文字
plt.text(xi, yi, "A1(%5.1fW, %3.1fN)" % (lon_me, lat_me))# 关闭.nc文件
ncfile.close()# 显示图形
plt.show()
图形绘制如下:

参考
相关文章:
【Python实例】Python读取并绘制nc数据
【Python实例】Python读取并绘制nc数据 准备:安装netCDF库等读取nc数据相关信息绘制图形利用basemap绘图 参考 准备:安装netCDF库等 以【1960-2020年中国1km分辨率月降水数据集】中2020年降水为例。 先在Panopoly中查看数据属性,如下&#…...
swift使用llama3.2-vision微调xray数据集
1.数据格式 [{"query": "通过这张胸部X光影像可以诊断出什么?","response": "根据X射线图像,心脏大小正常,肺部看起来很清晰。已经排除了肺炎、积液、水肿、气胸、腺病、结节或肿块的存在。该发现表明一切正常。换句话说,总体印象是胸…...
学习小课堂
1.多服务节点下Session-Cooki方案如何做? Session-Cookie 方案在单体环境是一个非常好的身份认证方案。但是,当服务器水平拓展成多节点时,Session-Cookie 方案就要面临挑战了。 举个例子:假如我们部署了两份相同的服务 A&#x…...
stm32学习笔记-RTC实时时钟
文章目录 一、RTC基础知识1.1 RTC简介1.2 RTC的晶振 二、stm32的RTC2.1 RTC和后备寄存器2.2 stm32 RTC结构框图及特性 三、stm32 RTC编程2.1 RTC初始化2.2 RTC控制程序 一、RTC基础知识 1.1 RTC简介 实时时钟的缩写是RTC(Real_Time Clock)。RTC 是集成电路,通常称…...
简历中的期望薪资怎么定?
在简历中撰写期望薪资时,既要体现你的价值认知,又要保持一定的灵活性和开放性,以便在后续的面试和薪资谈判中留有余地。以下是一些撰写期望薪资的合理方法: 一、明确薪资范围 1.市场调研: 在撰写期望薪资前…...
MySQL 中的 GROUP BY 使用
MySQL 中的 GROUP BY 使用指南 GROUP BY 是 SQL 中一个非常强大的语句,用于将查询结果按指定的列进行分组,并对每个分组执行聚合函数。它常常与聚合函数(如 COUNT、SUM、AVG、MIN 和 MAX)结合使用,以生成汇总信息。 …...
在 ubantu 20.04 云服务器上基于 bochs 编译 linux0.11
安装 bochs 将下面的命令全部执行一遍: sudo apt-get install build-essential sudo apt-get install xorg-dev sudo apt-get install bison sudo apt-get install g 我们区官网下载一下bochs的源码:bochs下载 这里我下载好了bochs2.6.8 这个版本的…...
docker-compose安装部署和使用
docker-compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务 1.docker-compose安装 github上下载二进制文…...
Java之静态
静态: 使用 static 关键字声明的成分属于类本身,而不是类的任何特定对象的实例。这意味着你可以在创建类的任何对象之前访问它们。 静态变量: 静态变量(也称为类变量)是被类的所有实例共享的变量。无论你创建多少对象…...
PCB缺陷检测数据集 xml 可转yolo格式 ,共10688张图片
PCB缺陷检测数据集(yolov5,v7,v8) 数据集总共有两个文件夹,一个是pcb整体标注,一个是pcb部分截图。 整体标注有6个分类,开路,短路等都已经标注,标注格式为xml,每个文件夹下有100多张…...
【linux开发-驱动】-设备树
一、什么是设备树 描述设备树的文件叫做DTS(Device Tree Source),采用树形结构描述板级设备,也就是开发板上的设备信息,比如IIC接口上接了那些设备,内存基地址等 树的主干就是系统总线,枝干就…...
不动产证ocr识别场景解析、房产证识别API
不动产证OCR识别、房产证识别接口是通过光学字符识别技术(OCR)从不动产证书的图像或扫描件中自动提取关键信息的技术应用。该场景的主要目标是提高信息录入的效率,减少人工输入的错误,并能自动化处理大量不动产证书、房产证的数据…...
gpg 密钥生成、导入、导出、自动输入密码
目录 一、系统环境 二、常用命令(以签名密钥为例) (1)生成密钥 (2)列出私钥 (3)列出公钥 (4)导出公钥 (5)导出私钥 ÿ…...
新个性化时尚解决方案!Prompt2Fashion:自动生成多风格、类型时尚图像数据集。
今天给大家介绍一种自动化生成时尚图像数据的方法Prompt2Fashion。 首先创建了一组描述,比如“适合婚礼的休闲风格服装”,然后用这些描述来指导计算机生成图像。具体来说,他们使用了大型语言模型来写出这些服装的描述,接着将这些描…...
软件设计师——计算机网络
📔个人主页📚:秋邱-CSDN博客☀️专属专栏✨:软考——软件设计师🏅往期回顾🏆:软件设计师——操作系统🌟其他专栏🌟:C语言_秋邱 一、OSI/ RM七层模型(⭐⭐⭐)…...
Python 实现电话号码和Email地址提取程序
Python 实现电话号码和Email地址提取程序 背景 在日常工作或学习中,我们经常需要从网页或文档中提取信息,比如电话号码和E-mail地址。手动查找和提取这些信息可能会耗费大量时间,而自动化工具可以帮助我们快速完成这个任务。 本篇博客将带…...
JavaGuide(3)
一、项目背景与简介 JavaGuide由GitHub用户Snailclimb开发并维护,是一个全面而深入的Java学习资源库。它旨在为Java初学者和有经验的开发者提供一个系统的学习路径和丰富的资源,帮助他们系统地学习和巩固Java及相关技术知识。 二、项目内容与特点 Jav…...
微信小程序15天
UniApp(Vue3组合式API)和微信小程序15天学习计划 第1天:开发环境配置和基础知识 UniApp和微信小程序概述及对比安装并配置HBuilderX(UniApp)和微信开发者工具创建第一个UniApp Vue3项目和微信小程序项目了解两个平台的项目结构差异配置外部浏览器和各种小程序模拟…...
用Python制作数据可视化仪表盘:使用Dash与Plotly构建实时交互式仪表盘
解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在数据驱动的世界中,可视化是理解和解释复杂数据的关键工具。通过数据可视化,用户能够快速洞察数据趋势,做出明智决策。而仪表盘作为一种高度集成的可视化工具,能够将多种数据图表汇总到一个界面上,便于实时…...
干部管理系统:全面提升干部管理效能
数字化浪潮下,干部管理系统作为管理利器,日益凸显其核心价值。该系统全面实现干部信息的数据化,涵盖从基础档案到教育、工作、培训及考核等全方位细节,信息详尽且条理清晰。这不仅极大提升了干部信息查询与更新的效率,…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
