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

NetCDF(network Common Data Form)网络通用数据格式是一种面向数组型并适于网络共享的数据的描述和编码标准。目前,NetCDF广泛应用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。用户可以借助多种方式方便地管理和操作 NetCDF 数据集。
NetCDF存储的数据是一个多自变量的函数,即f(x,y,z…)=value, 函数的自变量x、y、z等在NetCDF中叫做维(dimension),函数值value在NetCDF中叫做变量(variables),而自变量和函数值在物理学上的一些性质,在NetCDF中就叫属性(attributes)。

nc文件处理

读取nc文件数据可以利用netCDF4库

import netCDF4 as nc
nf = nc.Dataset(r'E://data//diann.nc','r')

一个NetCDF文件包含以下对象:

  1. 变量(variables)
nf.variables


#可得到adt变量的数据值,数据格式为numpy的数组
nf.variables['adt'][:]

  1. 维(dimension)
  2. 属性(attribute)

利用Basemap画世界地图

Basemap是matplotlib下的一个工具包,可用来绘制二维地图,实现数据可视化。
Basemap的安装如果直接在maplotlib的基础上,会很容易出错,建议去官网下载whl文件,再进行安装。安装相关问题可参考本篇博客

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签
plt.rcParams['axes.unicode_minus']=False   #这两行需要手动设置
from mpl_toolkits.basemap import Basemapplt.figure(figsize=(16,8))
#使用Basemap()创建一个地图
m = Basemap()
#把海岸线画上
m.drawcoastlines()
#开始画上国家
m.drawcountries(linewidth=1.5)
#添加经纬线
m.drawmeridians(np.arange(0, 360, 30),#设置纬线的真实范围,以及维度的间隔color='pink',  linewidth=1, labels=[1, True, 0, True],fontsize=10,
)
m.drawparallels(np.arange(-90, 90, 30),color='green',  linewidth=1,  labels=[1, True, 0, 1],fontsize=10,
)
m.plot(160, 30, marker='o', color="r")
plt.show()


Basemap库的功能特别强大,是用来可视化地理数据的很不错的一个工具,感兴趣的同学可以继续学习。这个网站对于Basemap的介绍比较齐全,可点击这里继续学习

利用Basemap画世界地图相关推荐

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

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

  2. 详解python 利用 pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)、动态流向图

    转载: 详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图) Pyecharts绘制全球流向图 pyecharts中文教程官网 目录  安装对应的python模块 世界 ...

  3. python 利用cartopy绘制世界地图中部分地区的风场的流线形式

    python 利用cartopy绘制世界地图中部分地区的风场的流线形式 先看效果图图(1982-1984 6.7.8月200hPa高度风场,60°E-150°E,0-40°N) 所用的画流线的函数 p ...

  4. 用python画动态樱花_利用python画一棵漂亮的樱花树,turtle画图代码大全,此处感谢知乎大佬小白...

    利用python画一棵漂亮的樱花树,turtle画图代码大全,此处感谢知乎大佬小白 此处感谢知乎大佬 小白练手 练习一下比较流行的turtle(海龟库) 画一棵漂亮的樱花树,效果如下: ps: 是动态 ...

  5. 记录一下HALCON基于可变形,利用CAD画dxf模板进行模板匹配(二)

    本文接着上一篇记录一下HALCON基于可变形,利用CAD画dxf模板进行模板匹配 打开HALCON并打开匹配助手 匹配助手如图 "创建"页说明: 1,选择匹配方式 中间偏上方的下拉 ...

  6. python画曲线-利用python画出AUC曲线的实例

    以load_breast_cancer数据集为例,模型细节不重要,重点是画AUC的代码. 直接上代码: from sklearn.datasets import load_breast_cancer ...

  7. java如何画出表格_Java利用iText7画个性化表格

    Java利用iText7画个性化表格 Java利用iText7画个性化表格 有时PDF中会出现非传统等行等列表格,下面介绍如何画个性化表格 (需要安装iText7插件哦)(官网http://devel ...

  8. python中词云图怎样变成特殊图案_如何利用python画出一个多变的词云图?(1)...

    问题描述: 如何利用python画出一个多变的词云图? 解决方法:import numpy as np import matplotlib import matplotlib.pyplot as pl ...

  9. python画一颗心_利用python画一颗心的方法示例

    前言 Python一般使用Matplotlib制作统计图形,用它自己的说法是'让简单的事情简单,让复杂的事情变得可能'.用它可以制作折线图,直方图,条形图,散点图,饼图,谱图等等你能想到的和想不到的统 ...

最新文章

  1. esxi 6.x 密码复杂度要求_还在为账号密码多而烦恼?
  2. Windows 软RAID 1操作教程
  3. win8换成linux桌面,Ubuntu/Linux Mint分分钟变Win8风
  4. python excel 操作
  5. 前端项目课程5 登录界面如何做
  6. 就你这个求婚态度,能嫁给你才怪!
  7. ansys如何删除线_绘画新手不懂如何用ps提取线稿?教你用PS提取自己喜欢的线稿!...
  8. C++之指针探究(十五):回调函数应用之qsort排序
  9. android wear中国版,AndroidWear中国版App——小白上手指南
  10. rust笔记6 枚举类型
  11. python人门指南小说-Python入门深度学习完整指南
  12. Eclipse!!!!!!!!!!!!!!!!!!
  13. 关于SOA的应用研究思考
  14. ActivityGroup简单介绍
  15. android 读取 IMEI 和 MEID 的处理
  16. UPC6615: Snuke Festival
  17. 你用过Foxpro吗?
  18. 【历史上的今天】12 月 20 日:苹果收购 NeXT;苏联超级计算机先驱诞生;《绝地求生》发布
  19. Object.defineProperty()详解
  20. Java基础--数值和字符串

热门文章

  1. postman批量添加 header 小技巧
  2. AndroidLocalizationer 支持百度翻译
  3. 沃尔沃推出纯电动汽车Polestar 2 续航里程和Model 3接近
  4. 图解网络:组建一个网络需要哪些网络设备和安全设备
  5. 深度学习之选择GPU或CPU方法
  6. python 人民币兑美元汇率代码_人民币对美元汇率的大数据分析与预测【完整代码】...
  7. [python爬虫]喜马拉雅音乐
  8. 抽象类+接口+内部类作业题
  9. C#SpinWait和volatile一点温习
  10. 电脑使用技巧提升篇9:使用360压缩软件文件加密