本文共 2058 字,大约阅读时间需要 6 分钟。
Matplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplotlib。
在任何绘图之前,我们需要一个Figure对象,可以理解成我们需要一张画板才能开始绘图。
import matplotlib.pyplot as pltfig = plt.figure()
在拥有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 是 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类有很多属性,这里全都使用默认参数
参数说明:
符号 | 含义 |
---|---|
‘c’ | 原始 |
‘l’ | 低 |
‘i’ | 中 |
‘h’ | 高 |
‘f’ | 完整 |
None | 未使用边界 |
3.画海岸线
map.drawcoastlines()
参数说明:
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/