Python语法——实现nc文件可视化

文章目录

Matplotlib

Matplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplotlib。

1. 认识Matploblib

1.1 Figure

在任何绘图之前,我们需要一个Figure对象,可以理解成我们需要一张画板才能开始绘图。

import matplotlib.pyplot as plt
fig = plt.figure()

1.2 Axes

在拥有Figure对象之后,在作画前我们还需要轴,没有轴的话就没有绘图基准,所以需要添加Axes。也可以理解成为真正可以作画的纸。

fig = plt.figure()
ax = fig.add_subplot(111)
ax.set(xlim=[0.5, 4.5], ylim=[-2, 8], title='An Example Axes',
       ylabel='Y-Axis', xlabel='X-Axis')
plt.show()

Python语法——实现nc文件可视化

Basemap

Basemap 是 Python 可视化库 Matplotlib 下的一个工具包,主要功能是绘制二维地图,对于空间数据的可视化非常重要。Basemap本身不会进行任何绘图,但提供了将坐标转换为25个不同地图投影之一的功能。 Matplotlib也可以用于绘制变换坐标中的轮廓,图像,向量,线或点。basemap包括GSSH海岸线数据集,以及来自GMT的河流、州和国家边界的数据集。这些数据集可用于在地图上以几种不同的分辨率绘制海岸线,河流和政治边界。basemap底层使用了Geometry Engine-Open Source(GEOS)库,用来将海岸线和边界特征剪切到所需的地图投影区域。此外,basemap还提供读取shapefile的功能。

1.导入包

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

2.新建地图

# 地图采用默认投影方式:普通圆柱投影模式
map = Basemap()  # Basemap类有很多属性,这里全都使用默认参数

参数说明:

  • llcrnrlat – 左下角的纬度
  • llcrnrlon – 左下角的经度
  • urcrnrlat – 右上角的纬度
  • urcrnrlon – 右上角的经度
  • resolution参数:设置分辨率级别,这个选项很重要,在全局地图上设置高分辨率边界可能非常慢。
符号 含义
‘c’ 原始
‘l’
‘i’
‘h’
‘f’ 完整
None 未使用边界

3.画海岸线

map.drawcoastlines()

参数说明:

  • linewidth : 线宽度
  • linestyle : 设置线风格,参照matplotlib
  • color :颜色,参照matplotlib
  • antialiased:抗锯齿
  • ax :轴实例
  • zorder: 海岸线图层位置

4.为大陆内部着色(通过填充海岸线多边形)

map.fillcontinents()

参数同drawcoastlines()

5.绘制国家边界

map.drawcountries()

6.绘制北美的州界

map.drawstates()

7.绘制河流。

map.drawrivers()

8.绘制高分辨率海陆掩码作为图像,指定土地和海洋颜色。

map.drawlsmask()

9.绘制一张NASA蓝色大理石图像作为地图背景

map.bluemarble()

10.绘制一个阴影浮雕图像作为地图背景

map.shadedrelief()

11.绘制etopo浮雕图像作为地图背景

map.etopo()

12.使用abitrary图像作为地图背景。图像必须是全球的,从国际数据线向东,南极向北,以纬度/经度坐标覆盖世界。

map.warpimage()

13.绘图

plt.show()

14.存储结果

plt.savefig('test.png')

案例

# 地图采用默认投影方式:普通圆柱投影模式
map = Basemap()  # Basemap类有很多属性,这里全都使用默认参数
# 首先给地球涂上蓝色的一层
map.drawmapboundary(fill_color='aqua')
上一篇:NC客开入门与代码示例(导入开发)


下一篇:SQL Server 2022 预览版介绍