利用Python+xarray+cartopy+matplotlib 实现遥感地形图制图绘制 —— xarray 学习文档01
1. xarray
xarray是针对 “.nc” 等格式数据的处理软件,可以差值、可视化、合并等等操作!!!简单易上手
学习文档:xarray
安装:
pip install xarray
conda install xarray
2. xarray.plot() 数据可视化
以"海底地形数据"为例,只显示了中国东部海、中国南海以及西北太平洋等区域,也可以全球范围内
import xarray as xr
import cartopy.crs as ccrs
import cartopy.feature as cfeat
import numpy as np
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER, mticker
import matplotlib.pyplot as pltdepth = xr.open_dataset(r"***\DEP\GEBCO_2021.nc")
data = dep['elevation']lon = depth.lon
lat = depth.lat
lon_range = lon[(lon>=110)&(lon <=150)]
lat_range = lat[(lat >=5)& (lat<=45)]
dep = depth.sel(lat = lat_range,lon = lon_range) fig = plt.figure(figsize=(8,6),dpi=600)
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree())
# 设置地图属性:加载国界、海岸线,land 为灰色
ax.add_feature(cfeat.OCEAN, zorder=0,color = 'white',edgecolor='black')
ax.add_feature(cfeat.LAND, color = 'grey',zorder=1,edgecolor='black')
ax.add_feature(cfeat.BORDERS.with_scale('50m'), linewidth=0.8, zorder=1)
ax.add_feature(cfeat.COASTLINE.with_scale('50m'), linewidth=0.6, zorder=1)
ax.set_extent([110, 150,5, 45],crs = ccrs.PlateCarree())
# 设置网格点属性
gl = ax.gridlines(crs=ccrs.PlateCarree(), draw_labels=True, linewidth=1.2, color='gray', alpha=0.5, linestyle='--')
gl.top_labels = False #关闭顶端标签
gl.right_labels = False #关闭右侧标签
gl.xlocator = mticker.FixedLocator([110,115,120,125,130,135,140,145,150])
gl.xformatter = LONGITUDE_FORMATTER#x轴设为经度格式
gl.xlabel_style = {'size':12, 'color': 'k','rotation':0}
gl.yformatter = LATITUDE_FORMATTER#y轴设为纬度格式
gl.ylocator = mticker.FixedLocator([5,10,15,20,25,30,35,40,45])
gl.ylabel_style = {'size':12,'rotation':0}
level = [-10000,-8000,-6000,-4000,-1500,-1000,-500,-100,0]# 画图
im = data.plot(ax=ax, cmap='GnBu_r',vmin=-10000,vmax=0,levels = level,add_colorbar = False)#cbar_kwargs=cbar_kwargs,transform=ccrs.PlateCarree())
position2=fig.add_axes([0.22, 0.04, 0.57, 0.018])#位置[左,下,右,上] 0.25, 0.35, 0.5, 0.014
cb=plt.colorbar(im,cax=position2,orientation='horizontal')#方向
position2.set_title('Topography(m)',loc = 'center',fontsize=15,weight = 'normal')
3. 结果显示
利用Python+xarray+cartopy+matplotlib 实现遥感地形图制图绘制 —— xarray 学习文档01相关推荐
- python读取文件特定内容_利用python代码获取文件特定的内容,并保存为文档
import os.path import re # 1 遍历指定目录,显示目录下的所有文件名 def each_file(file_path): path_dir = os.listdir(file ...
- 霍兰德人格分析:利用Python第三方库matplotlib绘制雷达图
美国约翰霍普金斯大学霍兰德教授认为,个人职业兴趣特性与职业之间应有一种内在的对应关系.根据兴趣的不同,人格可分为研究型(I).艺术型(A).社会型(S).企业型(E).传统型(C).现实型(R)六个维 ...
- 【适合Python语言小白的股价图】利用Python中的matplotlib绘制股价图(非k线图)
[适合Python语言小白的股价图]利用Python中的matplotlib绘制股价图(非k线图) 代码小白,最近做一家公司的股价复盘用到了matplotlib,在此做个小小的记录.代码的逻辑比较笨, ...
- Python实现识别html文本内容并截图放入word文档
需求: excel文件中存放了很多html标签文本,需要把文本内容在浏览器中打开将内容截图,放入doc文档保存. 手动过程 需要逐条手动处理 1. 从excel表格中复制标签文本内容 <div& ...
- python批量读取图片并复制入word_提取出 Word 文档里的图片 并利用 python 批量转换格式...
日常工作中,你是否遇到过这样的场景,领导发来一份 Word 文档,要求你将文档中的图片存储到一个文件夹内,并且还要将图片都改成 .jpg 或者 .png,你会怎么办?你是不是一边内心崩溃,一边开始一张 ...
- python根据模板生成pdf文件_程序生成word与PDF文档的方法(python)
程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob.Apache POI.Java2Word.iText等各种方式,以及使用free ...
- 用python和FreePic2Pdf工具手把手教你生成扫描版PDF文档的目录
从网上下载一本书籍来看,结果却是书籍页数几百页还没有目录,要想找到自己想看的部分还的自己徒手去翻,哇.....这时心态就崩了,你识别是也遇到过这种情况.很多下载下来的pdf文档都是扫描版的,一般都没有 ...
- python的web抓取_python实现从web抓取文档的方法
本文实例讲述了Python实现从Web的一个URL中抓取文档的方法,分享给大家供大家参考.具体方法分析如下: 实例代码如下: import urllib doc = urllib.urlopen(&q ...
- python写excel标记文字颜色_python3使用xlwt时写入文档字体颜色和边框样式
转自:https://www.cnblogs.com/xiaodingdong/p/8012282.html 可借鉴的网址:https://www.programcreek.com/python/ex ...
- python win32转pdf 横版_使用Python3将word文档和pdf电子书进行格式互转(兼容Windows/Linux)...
一些重要文档格式之间的互转在目前显得尤为重要,pdf作为通用格式在现在各个平台上兼容性是最好的,所以写python脚本将这些word文档批量转换pdf是最好的解决方案. 由于windows系统对于wo ...
最新文章
- (四) prometheus + grafana + alertmanager 配置Kafka监控
- 新版 Edge 浏览器或将拥有两个不同的浏览器内核
- Asp.net 邮件传输(转)
- 左操作数必须为左值_进入“左转弯待转区”被罚怎么回事?
- Boost智能指针——weak_ptr
- uclinux下实现多线程[转]
- airflow sql_alchemy_conn mysql_airflow使用mysql数据库,LocalExecutor并发调度
- 【LeetCode笔记】207. 课程表(Java、图、BFS、队列)
- 线程执行完之后会释放吗_java多线程并发:CAS+AQS+HashMap+volatile+ThreadLocal,乐分享...
- linux如何压缩数据库,linux mysql数据库压缩表空间
- 兼容浏览器的DIV最小高度自适应
- 2.1.6 用ProtectX实现扫描的反击与追踪
- 海思Hi3559AV100ES Camera芯片处理器参数
- 基于单片机的电集中抄表设计
- 用电子签章实现企业招投标安全高效,流程一体化
- LiteOS学习笔记-8LiteOS SDK oc流程之LwM2M
- 导师对计算机学生论文的评语,导师对论文的学术评语
- 来自《星际迷航》的灵感启发
- 苹果se2_太快了!苹果已面向iPhone SE 2用户推送iOS 13.4.1
- Mac开不了机怎么办?