博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python语法——实现nc文件可视化的基本模块
阅读量:3961 次
发布时间:2019-05-24

本文共 2058 字,大约阅读时间需要 6 分钟。

文章目录

Matplotlib

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

1. 认识Matploblib

1.1 Figure

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

import matplotlib.pyplot as pltfig = 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()

在这里插入图片描述

Basemap

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

1.导入包

from mpl_toolkits.basemap import Basemapimport 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')

案例

# 导入包from mpl_toolkits.basemap import Basemapimport matplotlib.pyplot as plt# 新建地图:地图采用默认投影方式(普通圆柱投影模式),经纬度范围默认覆盖整个地球map = Basemap()  # Basemap类有很多属性,这里全都使用默认参数# 画图map.drawcoastlines()  # Basemap类有很多属性,这里全都使用默认参数# 首先给地球涂上蓝色的一层map.drawmapboundary(fill_color='aqua')# 再给大陆涂上珊瑚色,给江河湖泊涂上大海一样的颜色map.fillcontinents(color='coral', lake_color='aqua')# 显示结果plt.show()# 存储结果plt.savefig('test.png')

在这里插入图片描述

转载地址:http://tymzi.baihongyu.com/

你可能感兴趣的文章
aspx上传、预览图片
查看>>
我的工作日志6
查看>>
我的软件工程之路(五)—四个月总结
查看>>
从入职到离职的收获——ICT四个月
查看>>
项目中用到的一个导入Excel的方法
查看>>
项目中一个用于导出word的方法
查看>>
项目中用到小技术点
查看>>
管理数据库连接不得不注意的地方
查看>>
KS系统总结
查看>>
测试Jsp 静态包含和动态包含
查看>>
简析几种常用的Web监听
查看>>
Web应用过滤器Fileter
查看>>
代理模式(Proxy)
查看>>
采用动态代理对事务进行封装
查看>>
采用ThreadLocal维护Connection
查看>>
测试JSTL表达式
查看>>
一口一口吃掉Struts(六)——动态ActionForm
查看>>
一口一口吃掉struts(七)——ActionForward知多少
查看>>
浅析Hibernate映射(二)——关系映射(3)
查看>>
浅析Hibernate映射(四)——组件映射(component)
查看>>