mpl_toolkits.basemap
¶
- class mpl_toolkits.basemap.Basemap(llcrnrlon=None, llcrnrlat=None, urcrnrlon=None, urcrnrlat=None, llcrnrx=None, llcrnry=None, urcrnrx=None, urcrnry=None, width=None, height=None, projection='cyl', resolution='c', area_thresh=None, rsphere=6370997.0, ellps=None, lat_ts=None, lat_1=None, lat_2=None, lat_0=None, lon_0=None, lon_1=None, lon_2=None, o_lon_p=None, o_lat_p=None, k_0=None, no_rot=False, suppress_ticks=True, satellite_height=35786000, boundinglat=None, fix_aspect=True, anchor='C', celestial=False, round=False, epsg=None, ax=None)[source]¶
- __init__(llcrnrlon=None, llcrnrlat=None, urcrnrlon=None, urcrnrlat=None, llcrnrx=None, llcrnry=None, urcrnrx=None, urcrnry=None, width=None, height=None, projection='cyl', resolution='c', area_thresh=None, rsphere=6370997.0, ellps=None, lat_ts=None, lat_1=None, lat_2=None, lat_0=None, lon_0=None, lon_1=None, lon_2=None, o_lon_p=None, o_lat_p=None, k_0=None, no_rot=False, suppress_ticks=True, satellite_height=35786000, boundinglat=None, fix_aspect=True, anchor='C', celestial=False, round=False, epsg=None, ax=None)[source]¶
设置具有指定地图投影的底图,并创建地图投影坐标中的海岸线数据结构。
使用参数 lon, lat 调用 Basemap 类实例会将 lon/lat(度)转换为 x/y 地图投影坐标(米)。如果可选关键字
inverse
设置为 True,则执行逆变换。所需的投影通过 projection 关键字设置。默认值为
cyl
。支持的 projection 关键字值为值
描述
cyl
圆柱等距投影
merc
墨卡托投影
tmerc
横轴墨卡托投影
omerc
斜墨卡托投影
mill
米勒圆柱投影
gall
高尔立体圆柱投影
cea
圆柱等面积投影
lcc
兰伯特等角投影
laea
兰伯特方位等面积投影
nplaea
北极兰伯特方位投影
splaea
南极兰伯特方位投影
eqdc
等距圆锥投影
aeqd
方位等距投影
npaeqd
北极方位等距投影
spaeqd
南极方位等距投影
aea
阿尔伯斯等面积投影
stere
立体投影
npstere
北极立体投影
spstere
南极立体投影
cass
卡西尼-索尔纳投影
poly
多圆锥投影
ortho
正射投影
geos
地球静止轨道投影
nsper
近侧透视投影
sinu
正弦曲线投影
moll
莫尔魏德投影
hammer
哈默投影
robin
罗宾逊投影
kav7
卡夫赖斯基七号投影
eck4
埃克特四号投影
vandg
范德格林滕投影
mbtfpq
麦克布赖德-托马斯平极四次投影
gnom
心射投影
rotpole
旋转极点投影
对于大多数地图投影,地图投影区域可以通过设置以下关键字来指定
关键字
描述
llcrnrlon
所需地图区域左下角的经度(度)。
llcrnrlat
所需地图区域左下角的纬度(度)。
urcrnrlon
所需地图区域右上角的经度(度)。
urcrnrlat
所需地图区域右上角的纬度(度)。
或这些
关键字
描述
width
地图投影坐标中所需地图区域的宽度(米)。
height
地图投影坐标中所需地图区域的高度(米)。
lon_0
所需地图区域的中心(度)。
lat_0
所需地图区域的中心(度)。
对于
sinu
,moll
,hammer
,npstere
,spstere
,nplaea
,splaea
,npaeqd
,spaeqd
,robin
,eck4
,kav7
或mbtfpq
,llcrnrlon
,llcrnrlat
,urcrnrlon
,urcrnrlat
,width
和height
的值会被忽略(因为它们要么在内部计算,要么总是绘制整个地球)。对于圆柱投影(
cyl
,merc
,mill
,cea
和gall
),默认使用 llcrnrlon=-180,llcrnrlat=-90, urcrnrlon=180 和 urcrnrlat=90。对于除ortho
,geos
和nsper
之外的所有其他投影,用户必须指定角的经/纬度值或宽度和高度。对于
ortho
,geos
和nsper
,可以指定角的经/纬度值,或者在全局投影的坐标系中(全局投影中心为 x=0,y=0)指定角的 x/y 值(llcrnrx,llcrnry,urcrnrx,urcrnry)。如果未指定角,则绘制整个地球。对于
rotpole
,未旋转球体上的角的经/纬度值可以作为 llcrnrlon,llcrnrlat,urcrnrlon,urcrnrlat 提供,或者旋转球体上的角的经/纬度值可以作为 llcrnrx,llcrnry,urcrnrx,urcrnry 给出。其他关键字参数
关键字
描述
resolution
要使用的边界数据库的分辨率。可以是
c
(粗略)、l
(低)、i
(中等)、h
(高)、f
(全)或 None。如果为 None,将不读取边界数据(如果调用 drawcoastlines 等类方法将引发错误)。数据集之间的分辨率大约下降 80%。更高分辨率的数据集绘制速度要慢得多。默认值为c
。海岸线数据来自 GSHHS (http://www.soest.hawaii.edu/wessel/gshhs/gshhs.html)。州、国家和河流数据集来自通用测绘工具 (http://gmt.soest.hawaii.edu)。area_thresh
面积小于 area_thresh 平方公里(km^2)的海岸线或湖泊将不被绘制。对于分辨率
c
,l
,i
,h
,f
,默认值分别为 10000, 1000, 100, 10, 1。rsphere
用于定义地图投影的球体半径(默认 6370997 米,接近地球算术平均半径)。如果以序列形式给出,前两个元素将被解释为椭球体的长轴和短轴半径。注意:有时椭球体由长轴和反扁率参数(if)指定。短轴(b)可以通过长轴(a)和反扁率参数使用公式 if = a/(a-b) 计算得出。
ellps
描述椭球体的字符串(例如 ‘GRS80’ 或 ‘WGS84’)。如果同时给出 rsphere 和 ellps,则 rsphere 将被忽略。默认值为 None。有关允许的值,请参阅 pyproj.pj_ellps。
suppress_ticks
在地图投影坐标中抑制轴刻度和标签的自动绘制。默认为 True,因此可以改为标记纬线和经线。如果请求纬线或经线标记(使用 drawparallels 和 drawmeridians 方法),即使 suppress_ticks=False,也会抑制自动刻度标记。如果您想使用自己的自定义刻度格式器,或者想让 matplotlib 使用地图投影坐标以米为单位标记轴,则 suppress_ticks=False 会很有用。
fix_aspect
固定绘图的纵横比,使其与地图投影区域的纵横比匹配(默认为 True)。
anchor
确定地图在轴矩形中的放置方式(传递给 axes.set_aspect)。默认值为
C
,表示地图居中。允许的值为C
,SW
,S
,SE
,E
,NE
,N
,NW
和W
。celestial
经度使用天文学惯例(即,0 度以东为负经度)。默认为 False。意味着 resolution=None。
ax
设置默认轴实例(默认为 None - matplotlib.pyplot.gca() 可用于获取当前轴实例)。如果您不想导入 matplotlib.pyplot,可以将其设置为预定义的轴实例,或者在每个执行绘图的 Basemap 方法调用中使用
ax
关键字。在第一种情况下,所有 Basemap 方法调用都将绘制到相同的轴实例。在第二种情况下,您可以使用相同的 Basemap 实例绘制到不同的轴。您还可以在单个方法调用中使用ax
关键字来选择性地覆盖默认轴实例。以下关键字是地图投影参数,它们都默认为 None。并非所有投影都使用所有参数,有些参数会被忽略。模块变量
projection_params
是一个字典,其中列出了哪些参数适用于哪些投影。关键字
描述
lat_ts
真实比例纬度。对于立体、圆柱等面积和墨卡托投影是可选的。立体投影默认为 lat_0。墨卡托和圆柱等面积投影默认为 0。
lat_1
兰伯特等角、阿尔伯斯等面积和等距圆锥投影的第一标准纬线。斜墨卡托投影投影中心线上的两个点之一的纬度。如果未给出 lat_1,但给出了 lat_0,则对于兰伯特等角、阿尔伯斯等面积和等距圆锥投影,lat_1 将设置为 lat_0。
lat_2
兰伯特等角、阿尔伯斯等面积和等距圆锥投影的第二标准纬线。斜墨卡托投影投影中心线上的两个点之一的纬度。如果未给出 lat_2,则对于兰伯特等角、阿尔伯斯等面积和等距圆锥投影,它将设置为 lat_1。
lon_1
斜墨卡托投影投影中心线上的两个点之一的经度。
lon_2
斜墨卡托投影投影中心线上的两个点之一的经度。
k_0
自然原点的比例因子(由 ‘tmerc’、‘omerc’、‘stere’ 和 ‘lcc’ 使用)。
no_rot
仅由斜墨卡托投影使用。如果设置为 True,地图投影坐标将不会旋转到正北方向。默认为 False(投影坐标自动旋转)。
lat_0
中心纬度(y 轴原点)- 所有投影都使用。
lon_0
中央经线(x 轴原点)- 所有投影都使用。
o_lat_p
旋转极点的纬度(仅由 ‘rotpole’ 使用)
o_lon_p
旋转极点的经度(仅由 ‘rotpole’ 使用)
boundinglat
极点中心投影(npstere,spstere,nplaea,splaea,npaeqd,spaeqd)的边界纬度。这些投影是以北极或南极为中心的方形区域。经度 lon_0 位于 6 点钟方向,纬度圈 boundinglat 在 lon_0 处与地图边缘相切。
round
在 boundinglat 处截断极点中心投影(使绘图呈圆形而非方形)。仅与 npstere,spstere,nplaea,splaea,npaeqd 或 spaeqd 投影相关。默认为 False。
satellite_height
卫星距赤道的高度(米)- 仅与地球静止和近侧透视(
geos
或nsper
)投影相关。默认 35,786 公里。有用的实例变量
变量名称
描述
projection
地图投影。打印模块变量
supported_projections
可查看允许值的列表。epsg
定义投影的 EPSG 代码(请参阅 http://spatialreference.org 以获取 EPSG 代码及其定义的列表)。
aspect
地图纵横比(y 维度大小 / x 维度大小)。
llcrnrlon
所选地图区域左下角的经度。
llcrnrlat
所选地图区域左下角的纬度。
urcrnrlon
所选地图区域右上角的经度。
urcrnrlat
所选地图区域右上角的纬度。
llcrnrx
所选地图区域左下角在地图投影坐标中的 x 值。
llcrnry
所选地图区域左下角在地图投影坐标中的 y 值。
urcrnrx
所选地图区域右上角在地图投影坐标中的 x 值。
urcrnry
所选地图区域右上角在地图投影坐标中的 y 值。
rmajor
所用椭球体的赤道半径(米)。
rminor
所用椭球体的极半径(米)。
resolution
正在使用的边界数据集的分辨率(
c
代表粗略,l
代表低,等等)。如果为 None,则没有边界数据集与 Basemap 实例相关联。proj4string
PROJ.4 使用的描述地图投影的字符串。
地理坐标(经度/纬度)到地图投影坐标(x/y)的转换
使用参数 lon, lat 调用 Basemap 类实例会将 lon/lat(度)转换为 x/y 地图投影坐标(米)。如果可选关键字
inverse
设置为 True(默认为 False),则执行从 x/y 到 lon/lat 的逆变换。对于圆柱等距投影(
cyl
),这不执行任何操作(即 x,y == lon,lat)。对于非圆柱投影,逆变换总是返回介于 -180 到 180 度之间的经度。对于圆柱投影(self.projection ==
cyl
,mill
,cea
,gall
或merc
),逆变换将返回介于 self.llcrnrlon 和 self.llcrnrlat 之间的经度。输入参数 lon, lat 可以是标量浮点数、序列或 numpy 数组。
示例用法
>>> from mpl_toolkits.basemap import Basemap >>> import numpy as np >>> import matplotlib.pyplot as plt >>> # read in topo data (on a regular lat/lon grid) >>> etopo = np.loadtxt('etopo20data.gz') >>> lons = np.loadtxt('etopo20lons.gz') >>> lats = np.loadtxt('etopo20lats.gz') >>> # create Basemap instance for Robinson projection. >>> m = Basemap(projection='robin',lon_0=0.5*(lons[0]+lons[-1])) >>> # compute map projection coordinates for lat/lon grid. >>> x, y = m(*np.meshgrid(lons,lats)) >>> # make filled contour plot. >>> cs = m.contourf(x,y,etopo,30,cmap=plt.cm.jet) >>> m.drawcoastlines() # draw coastlines >>> m.drawmapboundary() # draw a line around the map region >>> m.drawparallels(np.arange(-90.,120.,30.),labels=[1,0,0,0]) # draw parallels >>> m.drawmeridians(np.arange(0.,420.,60.),labels=[0,0,0,1]) # draw meridians >>> plt.title('Robinson Projection') # add a title >>> plt.show()
[此示例 (simpletest.py) 以及许多其他示例可在源代码分发的 examples 目录中找到。此示例的“OO”版本(不使用 matplotlib.pyplot)名为“simpletest_oo.py”。]
- arcgisimage(server='http://server.arcgisonline.com/ArcGIS', service='World_Imagery', xpixels=400, ypixels=None, dpi=96, cachedir=None, verbose=False, **kwargs)[source]¶
使用 ArcGIS Server REST API 显示背景图像。
为了使用此方法,必须使用
epsg
关键字创建Basemap
实例来定义地图投影,除非使用“cyl”投影(在这种情况下假定 EPSG 代码 4326)。- 参数:
server (str, 可选) – Web 地图服务器的基本 URL
service (str, 可选) – 服务器托管的服务(图像类型)
xpixels (int, 可选) – x 方向请求的图像像素数
ypixels (int, 可选) – y 方向请求的图像像素数;如果未给出,则根据
xpixels
和地图投影区域的纵横比推断。dpi (int, 可选) – 导出图像的设备分辨率
cachedir (str, 可选) – 如果给出,用作从服务器检索图像的缓存文件夹的目录
verbose (bool, 可选) – 如果为 True,则打印调试信息
**kwargs (dict, 可选) – 仅关键字参数;目前,仅支持
ax
以覆盖默认的matplotlib.axes.Axes
实例
- 返回:
aximg (matplotlib.image.AxesImage) – 图像轴实例
- barbs(x, y, u, v, *args, **kwargs)[source]¶
在地图上绘制风羽图 (u, v)。(参见 matplotlib.pyplot.barbs 文档)。
如果
latlon
关键字设置为 True,则 x,y 被解释为经度和纬度(度)。对于圆柱和伪圆柱投影,数据和经度会自动调整以匹配地图投影区域,并且 x,y 会转换为地图投影坐标。如果latlon
为 False(默认),则 x 和 y 被假定为地图投影坐标。额外的关键字
ax
可用于覆盖默认轴实例。其他 *args 和 **kwargs 传递给 matplotlib.pyplot.barbs
返回两个 matplotlib.axes.Barbs 实例,一个用于北半球,一个用于南半球。
- bluemarble(ax=None, scale=None, **kwargs)[source]¶
将蓝色弹珠图像显示为地图背景。
原始图像可在以下位置获取:
https://visibleearth.nasa.gov/
默认图像大小为 5400x2700,这可能会有点慢且占用内存。
scale
关键字允许对图像进行降采样(例如scale=0.5
会降采样到 2700x1350)。- 参数:
ax (matplotlib.image.AxesImage, 可选) – 如果给出,替代的轴实例,图像将在其中绘制
scale (float, 可选) – 如果给出,按给定因子重新缩放图像
**kwargs (dict, 可选) – 传递给
Basemap.imshow()
的关键字参数。
- 返回:
ax (matplotlib.image.AxesImage) – 轴实例
- colorbar(mappable=None, location='right', size='5%', pad='2%', fig=None, ax=None, **kwargs)[source]¶
将颜色条添加到与地图关联的轴。颜色条轴实例是使用 axes_grid 工具包创建的。
关键字
描述
mappable
颜色条应用的 Image、ContourSet 等。默认为 None,使用 matplotlib.pyplot.gci() 检索当前图像可映射对象。
location
放置颜色条的位置(‘top’、‘bottom’、‘left’、‘right’)。默认为 ‘right’。
size
颜色条轴的宽度(字符串 ‘N%’,其中 N 是一个整数,描述父轴的宽度百分比)。默认为 ‘5%’。
pad
父轴和颜色条轴之间的填充,单位与 size 相同。默认为 ‘2%’。
fig
地图轴实例关联的 Figure 实例。默认为 None,使用 matplotlib.pyplot.gcf() 检索当前活动 Figure 实例。
ax
颜色条将关联的轴实例。默认为 None,搜索 self.ax,如果为 None 则使用 matplotlib.pyplot.gca()。
**kwargs
传递给 figure 实例的 colorbar 方法的额外关键字参数。
返回一个 matplotlib colorbar 实例。
- contour(x, y, data, *args, **kwargs)[source]¶
在地图上绘制等高线图(参见 matplotlib.pyplot.contour 文档)。
如果
latlon
关键字设置为 True,则 x,y 被解释为经度和纬度(度)。对于圆柱和伪圆柱投影,数据和经度会自动调整以匹配地图投影区域,并且 x,y 会转换为地图投影坐标。如果latlon
为 False(默认),则 x 和 y 被假定为地图投影坐标。额外的关键字
ax
可用于覆盖默认轴实例。如果
tri
设置为True
,则假定为非结构化网格(x,y,data 必须为 1 维),并使用 matplotlib.pyplot.tricontour。其他 *args 和 **kwargs 传递给 matplotlib.pyplot.contour(如果
tri=True
则传递给 tricontour)。
- contourf(x, y, data, *args, **kwargs)[source]¶
在地图上绘制填充等高线图(参见 matplotlib.pyplot.contourf 文档)。
如果
latlon
关键字设置为 True,则 x,y 被解释为经度和纬度(度)。对于圆柱和伪圆柱投影,数据和经度会自动调整以匹配地图投影区域,并且 x,y 会转换为地图投影坐标。如果latlon
为 False(默认),则 x 和 y 被假定为地图投影坐标。如果 x 或 y 超出投影范围(即它们的值 > 1.e20),则相应的数据元素将被遮罩。
额外的关键字 ‘ax’ 可用于覆盖默认轴实例。
如果
tri
设置为True
,则假定为非结构化网格(x,y,data 必须为 1 维),并使用 matplotlib.pyplot.tricontourf。其他 *args 和 **kwargs 传递给 matplotlib.pyplot.contourf(如果
tri=True
则传递给 tricontourf)。
- drawcoastlines(linewidth=1.0, linestyle='solid', color='k', antialiased=1, ax=None, zorder=None)[source]¶
绘制海岸线。
关键字
描述
linewidth
海岸线宽度(默认为 1.)
linestyle
海岸线线型(默认为实线)
color
海岸线颜色(默认为黑色)
antialiased
海岸线的抗锯齿开关(默认为 True)。
ax
轴实例(覆盖默认轴实例)
zorder
设置海岸线的 zorder(如果未指定,则使用 matplotlib.patches.LineCollections 的默认 zorder)。
返回一个 matplotlib.patches.LineCollection 对象。
- drawcounties(linewidth=0.1, linestyle='solid', color='k', antialiased=1, facecolor='none', ax=None, zorder=None, drawbounds=False)[source]¶
在美国绘制县界。县界 shapefile 源自 NOAA Coastal Geospatial Data Project (http://coastalgeospatial.noaa.gov/data_gis.html)。
关键字
描述
linewidth
县界线宽(默认为 0.1)
linestyle
海岸线线型(默认为实线)
color
县界线颜色(默认为黑色)
facecolor
县的填充颜色(默认为不填充)
antialiased
县界的抗锯齿开关(默认为 True)。
ax
轴实例(覆盖默认轴实例)
zorder
设置县界的 zorder(如果未指定,则使用 matplotlib.patches.LineCollections 的默认 zorder)。
返回一个 matplotlib.patches.LineCollection 对象。
- drawcountries(linewidth=0.5, linestyle='solid', color='k', antialiased=1, ax=None, zorder=None)[source]¶
绘制国界。
关键字
描述
linewidth
国界线宽(默认为 0.5)
linestyle
海岸线线型(默认为实线)
color
国界线颜色(默认为黑色)
antialiased
国界的抗锯齿开关(默认为 True)。
ax
轴实例(覆盖默认轴实例)
zorder
设置国界的 zorder(如果未指定,则使用 matplotlib.patches.LineCollections 的默认 zorder)。
返回一个 matplotlib.patches.LineCollection 对象。
- drawgreatcircle(lon1, lat1, lon2, lat2, del_s=100.0, **kwargs)[source]¶
在地图上绘制从经纬度对
lon1,lat1
到lon2,lat2
的大圆。关键字
描述
del_s
大圆上的点每 del_s 公里计算一次(默认为 100)。
**kwargs
其他关键字参数传递给 Basemap 实例的
plot()
方法。返回一个列表,其中包含一个
matplotlib.lines.Line2D
对象,类似于调用pyplot.plot()
。
- drawlsmask(land_color='0.8', ocean_color='w', lsmask=None, lsmask_lons=None, lsmask_lats=None, lakes=True, resolution='l', grid=5, **kwargs)[source]¶
绘制陆海掩膜图像。
注意
由于 matplotlib 图像处理的限制(无法指定图像的 zorder),陆海掩膜图像无法叠加在其他图像之上。
关键字
描述
land_color
所需的陆地颜色(颜色名称或 rgba 元组)。默认为灰色(“0.8”)。
ocean_color
所需的水体颜色(颜色名称或 rgba 元组)。默认为白色。
lsmask
一个数组,其中海洋像素为 0,陆地像素为 1,湖泊/池塘像素为 2。默认为 None(使用默认的 5 分钟分辨率陆海掩膜)。
lakes
绘制湖泊和池塘(默认为 True)
lsmask_lons
lsmask 的一维经度数组(如果 lsmask 为 None 则忽略)。经度必须按从西经 -180 度向东排列。
lsmask_lats
lsmask 的一维纬度数组(如果 lsmask 为 None 则忽略)。纬度必须按从南纬 -90 度向北排列。
resolution
gshhs 海岸线分辨率用于定义陆海掩膜(默认为 'l',可用 'c'、'l'、'i'、'h' 或 'f')
grid
陆海掩膜网格间距(分钟)(默认为 5;10、2.5 和 1.25 也可用)。
**kwargs
传递给
imshow()
的额外关键字参数如果 lsmask、lsmask_lons 或 lsmask_lats 关键字中的任何一个未设置,则使用内置的 GSHHS 陆海掩膜数据集。
额外的关键字
ax
可用于覆盖默认轴实例。返回一个 matplotlib.image.AxesImage 实例。
- drawmapboundary(color='k', linewidth=1.0, fill_color=None, zorder=None, ax=None)[source]¶
绘制地图投影区域的边界,可选地填充区域内部。
关键字
描述
linewidth
边界线宽(默认为 1.)
color
边界线颜色(默认为黑色)
fill_color
用此颜色填充地图区域背景(默认为使用轴背景颜色填充)。如果设置为字符串 ‘none’,则不进行填充。
zorder
设置填充地图背景的 zorder(默认为 0)。
ax
要使用的轴实例(默认为 None,使用默认轴实例)。
返回表示地图边界的 matplotlib.collections.PatchCollection。
- drawmapscale(lon, lat, lon0, lat0, length, barstyle='simple', units='km', fontsize=9, yoffset=None, labelstyle='simple', fontcolor='k', fillcolor1='w', fillcolor2='k', ax=None, format='%d', zorder=None, linecolor=None, linewidth=None)[source]¶
在 lon,lat 处绘制地图比例尺,其长度
length
代表在lon0,lat0
处的地图投影坐标中的距离。关键字
描述
单位
length 参数的单位(默认为 km)。
barstyle
simple
或fancy
(大致对应于通用测绘工具提供的样式)。默认为simple
。fontsize
地图比例尺标注的字体大小,默认为 9。
fontcolor
地图比例尺标注的字体颜色,默认为黑色。
labelstyle
simple
(默认)或fancy
。对于fancy
,地图比例因子(lon0,lat0 处的实际距离与地图投影距离之比)以及 lon0,lat0 的值也会显示在比例尺的顶部。对于simple
,顶部只显示单位,比例尺下方显示距离。如果等于 False,则绘制一个空标签。format
用于格式化数值的字符串格式器
yoffset
yoffset 控制比例尺的高度以及标注相对于比例尺的偏移距离。默认值为地图高度的 0.02 倍(0.02*(self.ymax-self.ymin))。
fillcolor1(2)
交替填充区域的颜色(默认为白色和黑色)。仅与 ‘fancy’ barstyle 相关。
zorder
设置地图比例尺的 zorder。
linecolor
设置比例尺的颜色,默认为使用 fontcolor
linewidth
比例尺和刻度的线宽
额外的关键字
ax
可用于覆盖默认轴实例。
- drawmeridians(meridians, color='k', textcolor='k', linewidth=1.0, zorder=None, dashes=[1, 1], labels=[0, 0, 0, 0], labelstyle=None, fmt='%g', xoffset=None, yoffset=None, ax=None, latmax=None, **text_kwargs)[source]¶
绘制并标记在序列
meridians
中给出的值(度)的经线(经度线)。关键字
描述
color
绘制经线的颜色(默认为黑色)。
textcolor
绘制标签的颜色(默认为黑色)。
linewidth
经线的线宽(默认为 1.)
zorder
设置经线的 zorder(如果未指定,则使用 matplotlib.lines.Line2D 对象的默认 zorder)。
dashes
经线的虚线样式(默认为 [1,1],即 1 像素开,1 像素关)。
labels
包含 4 个值(默认为 [0,0,0,0])的列表,控制经线在与绘图的左、右、上或下边缘相交处是否被标记。例如 labels=[1,0,0,1] 将导致经线在与绘图的左边缘和下边缘相交处被标记,但不标记右边缘和上边缘。
labelstyle
如果设置为 “+/-”,则东经和西经将用 “+” 和 “-” 标记,否则将用 “E” 和 “W” 标记。
fmt
用于格式化经线标签的格式字符串(默认为 '%g')或一个函数,该函数以经度值(度)作为唯一参数并返回格式化字符串。
xoffset
标签在 x 方向上与地图边缘的偏移量(默认为地图在地图投影坐标中宽度的 0.01 倍)。
yoffset
标签在 y 方向上与地图边缘的偏移量(默认为地图在地图投影坐标中高度的 0.01 倍)。
ax
轴实例(覆盖默认轴实例)
latmax
绘制经线的纬度绝对值(默认为 80)。
**text_kwargs
控制标签文本的额外关键字参数,这些参数传递给轴实例的 text 方法(参见 matplotlib.pyplot.text 文档)。
返回一个字典,其键是经线值,其值是包含与每条经线关联的 matplotlib.lines.Line2D 和 matplotlib.text.Text 实例列表的元组。从字典中删除一个条目将从绘图中移除相应的经线。
- drawparallels(circles, color='k', textcolor='k', linewidth=1.0, zorder=None, dashes=[1, 1], labels=[0, 0, 0, 0], labelstyle=None, fmt='%g', xoffset=None, yoffset=None, ax=None, latmax=None, **text_kwargs)[source]¶
绘制并标记在序列
circles
中给出的值(度)的纬线(纬度线)。关键字
描述
color
绘制纬线的颜色(默认为黑色)。
textcolor
绘制标签的颜色(默认为黑色)。
linewidth
纬线的线宽(默认为 1.)
zorder
设置纬线的 zorder(如果未指定,则使用 matplotlib.lines.Line2D 对象的默认 zorder)。
dashes
纬线的虚线样式(默认为 [1,1],即 1 像素开,1 像素关)。
labels
包含 4 个值(默认为 [0,0,0,0])的列表,控制纬线在与绘图的左、右、上或下边缘相交处是否被标记。例如 labels=[1,0,0,1] 将导致纬线在与绘图的左边缘和下边缘相交处被标记,但不标记右边缘和上边缘。
labelstyle
如果设置为 “+/-”,则北纬和南纬将用 “+” 和 “-” 标记,否则将用 “N” 和 “S” 标记。
fmt
用于格式化纬线标签的格式字符串(默认为 '%g')或一个函数,该函数以纬度值(度)作为唯一参数并返回格式化字符串。
xoffset
标签在 x 方向上与地图边缘的偏移量(默认为地图在地图投影坐标中宽度的 0.01 倍)。
yoffset
标签在 y 方向上与地图边缘的偏移量(默认为地图在地图投影坐标中高度的 0.01 倍)。
ax
轴实例(覆盖默认轴实例)
latmax
绘制经线的纬度绝对值(默认为 80)。
**text_kwargs
控制标签文本的额外关键字参数,这些参数传递给轴实例的 text 方法(参见 matplotlib.pyplot.text 文档)。
返回一个字典,其键是纬线值,其值是包含与每条纬线关联的 matplotlib.lines.Line2D 和 matplotlib.text.Text 实例列表的元组。从字典中删除一个条目将从绘图中移除相应的纬线。
- drawrivers(linewidth=0.5, linestyle='solid', color='k', antialiased=1, ax=None, zorder=None)[source]¶
绘制主要河流。
关键字
描述
linewidth
河流边界线宽(默认为 0.5)
linestyle
海岸线线型(默认为实线)
color
河流边界线颜色(默认为黑色)
antialiased
河流边界的抗锯齿开关(默认为 True)。
ax
轴实例(覆盖默认轴实例)
zorder
设置河流的 zorder(如果未指定,则使用 matplotlib.patches.LineCollections 的默认 zorder)。
返回一个 matplotlib.patches.LineCollection 对象。
- drawstates(linewidth=0.5, linestyle='solid', color='k', antialiased=1, ax=None, zorder=None)[source]¶
在美洲绘制州界。
关键字
描述
linewidth
州界线宽(默认为 0.5)
linestyle
海岸线线型(默认为实线)
color
州界线颜色(默认为黑色)
antialiased
州界的抗锯齿开关(默认为 True)。
ax
轴实例(覆盖默认轴实例)
zorder
设置州界的 zorder(如果未指定,则使用 matplotlib.patches.LineCollections 的默认 zorder)。
返回一个 matplotlib.patches.LineCollection 对象。
- etopo(ax=None, scale=None, **kwargs)[source]¶
将 ETOPO 地形图像显示为地图背景。
原始图像可在以下位置获取:
http://www.ngdc.noaa.gov/mgg/global/global.html
默认图像大小为 5400x2700,这可能会有点慢且占用内存。
scale
关键字允许对图像进行降采样(例如scale=0.5
会降采样到 2700x1350)。- 参数:
ax (matplotlib.image.AxesImage, 可选) – 如果给出,替代的轴实例,图像将在其中绘制
scale (float, 可选) – 如果给出,按给定因子重新缩放图像
**kwargs (dict, 可选) – 传递给
Basemap.imshow()
的关键字参数。
- 返回:
ax (matplotlib.image.AxesImage) – 轴实例
- fillcontinents(color='0.8', lake_color=None, ax=None, zorder=None, alpha=None)[source]¶
填充大陆。
关键字
描述
color
填充大陆的颜色(默认为灰色)。
lake_color
填充内陆湖泊的颜色(默认为轴背景)。
ax
轴实例(覆盖默认轴实例)。
zorder
设置大陆多边形的 zorder(如果未指定,则使用 Polygon patch 的默认 zorder)。如果您想在填充的大陆上绘制,请将其设置为零。
alpha
设置大陆多边形的 alpha 透明度
填充大陆后,湖泊会用轴背景颜色重新填充。
返回一个 matplotlib.patches.Polygon 对象列表。
- gcpoints(lon1, lat1, lon2, lat2, npoints)[source]¶
计算沿大圆的
points
点,端点为(lon1,lat1)
和(lon2,lat2)
。返回具有地图投影坐标的数组 x,y。
- hexbin(x, y, **kwargs)[source]¶
绘制 x 对 y 的六边形分箱图,其中 x, y 是长度相同的 N 维一维序列。如果 C 为 None(默认值),则这是 (x[i],y[i]) 处观测值出现次数的直方图。
如果指定了 C,它将指定坐标 (x[i],y[i]) 处的值。这些值会为每个六边形分箱累加,然后根据 reduce_C_function 进行约简,该函数默认为 numpy 平均函数 (np.mean)。(如果指定了 C,它也必须是与 x 和 y 长度相同的一维序列。)
x, y 和/或 C 可以是遮罩数组,在这种情况下,只有未遮罩的点才会被绘制。
(参见 matplotlib.pyplot.hexbin 文档)。
额外的关键字
ax
可用于覆盖默认轴实例。其他 **kwargs 传递给 matplotlib.pyplot.hexbin
- imshow(*args, **kwargs)[source]¶
在地图上显示图像(参见 matplotlib.pyplot.imshow 文档)。
extent
和origin
关键字自动设置,以便图像将在地图区域上绘制。额外的关键字
ax
可用于覆盖默认轴实例。其他 **kwargs 传递给 matplotlib.pyplot.plot。
返回一个 matplotlib.image.AxesImage 实例。
- is_land(xpt, ypt)[source]¶
如果给定的 x,y 点(在投影坐标中)在陆地上,则返回 True,否则返回 False。陆地的定义基于与类实例关联的 GSHHS 海岸线多边形。陆地区域内湖泊上的点不计为陆地点。
- makegrid(nx, ny, returnxy=False)[源代码]¶
返回形状为 (ny,nx) 的数组,其中包含等间距本地投影网格的经纬度坐标 (lon,lat)。
如果
returnxy = True
,则还会返回网格的 x,y 值。
- nightshade(date, color='k', delta=0.25, alpha=0.5, ax=None, zorder=2)[源代码]¶
根据
date
指定的时间,对地图上处于黑暗的区域进行阴影处理。date
是一个 datetime 实例,假定为 UTC 时间。关键字
描述
color
用于给夜晚区域着色(默认为黑色)。
delta
昼夜分界线的计算分辨率为
delta
度(默认为 0.25)。alpha
阴影的 alpha 透明度(默认为 0.5,以便显示地图背景)。
zorder
阴影的 zorder(默认为 2)。
额外的关键字
ax
可用于覆盖默认轴实例。返回一个 matplotlib.contour.ContourSet 实例。
- pcolor(x, y, data, **kwargs)[源代码]¶
在地图上创建一个伪彩色图(参见 matplotlib.pyplot.pcolor 文档)。
如果
latlon
关键字设置为 True,则 x,y 被解释为经度和纬度(度)。对于圆柱和伪圆柱投影,数据和经度会自动调整以匹配地图投影区域,并且 x,y 会转换为地图投影坐标。如果latlon
为 False(默认),则 x 和 y 被假定为地图投影坐标。如果 x 或 y 超出投影范围(即它们的值大于 1.e20),它们将被转换为掩码数组,这些值被掩码。因此,这些值将不会被绘制。
如果
tri
设置为True
,则假定为非结构化网格(x,y,data 必须为 1 维),并使用 matplotlib.pyplot.tripcolor。额外的关键字
ax
可用于覆盖默认轴实例。其他 **kwargs 参数传递给 matplotlib.pyplot.pcolor(如果
tri=True
则传递给 tripcolor)。注意:(取自 matplotlib.pyplot.pcolor 文档)理想情况下,x 和 y 的维度应比 data 的维度大一;如果维度相同,则 data 的最后一行和最后一列将被忽略。
- pcolormesh(x, y, data, **kwargs)[源代码]¶
在地图上创建一个伪彩色图(参见 matplotlib.pyplot.pcolormesh 文档)。
如果
latlon
关键字设置为 True,则 x,y 被解释为经度和纬度(度)。对于圆柱和伪圆柱投影,数据和经度会自动调整以匹配地图投影区域,并且 x,y 会转换为地图投影坐标。如果latlon
为 False(默认),则 x 和 y 被假定为地图投影坐标。额外的关键字
ax
可用于覆盖默认轴实例。其他 **kwargs 参数传递给 matplotlib.pyplot.pcolormesh。
注意:(取自 matplotlib.pyplot.pcolor 文档)理想情况下,x 和 y 的维度应比 data 的维度大一;如果维度相同,则 data 的最后一行和最后一列将被忽略。
- plot(*args, **kwargs)[源代码]¶
在地图上绘制线条和/或标记(参见 matplotlib.pyplot.plot 文档)。
如果
latlon
关键字设置为 True,则 x,y 被解释为经度和纬度(度)。对于圆柱和伪圆柱投影,数据和经度会自动调整以匹配地图投影区域,并且 x,y 会转换为地图投影坐标。如果latlon
为 False(默认),则 x 和 y 被假定为地图投影坐标。额外的关键字
ax
可用于覆盖默认轴实例。其他 **kwargs 传递给 matplotlib.pyplot.plot。
- quiver(x, y, u, v, *args, **kwargs)[源代码]¶
在地图上绘制带有箭头的矢量图 (u, v)。
参数可以是 1 维或 2 维数组或序列(详情请参见 matplotlib.pyplot.quiver 文档)。
如果
latlon
关键字设置为 True,则 x,y 被解释为经度和纬度(度)。对于圆柱和伪圆柱投影,数据和经度会自动调整以匹配地图投影区域,并且 x,y 会转换为地图投影坐标。如果latlon
为 False(默认),则 x 和 y 被假定为地图投影坐标。额外的关键字
ax
可用于覆盖默认轴实例。其他 *args 和 **kwargs 参数传递给 matplotlib.pyplot.quiver。
- readshapefile(shapefile, name, drawbounds=True, zorder=None, linewidth=0.5, color='k', antialiased=1, ax=None, default_encoding='utf-8', encoding_errors='strict')[源代码]¶
读取 shape 文件,可选择在地图上绘制边界。
注意
假定形状为 2D
仅适用于 Point、MultiPoint、Polyline 和 Polygon 形状。
顶点/点必须采用地理(经纬度)坐标。
必需参数
参数
描述
shapefile
shape 文件组件的路径。示例:shapefile=’/home/jeff/esri/world_borders’ 假定 world_borders.shp、world_borders.shx 和 world_borders.dbf 位于 /home/jeff/esri。
name
Basemap 属性的名称,用于存储地图投影坐标中的 shape 文件顶点或点。类属性 name+’_info’ 是一个字典列表,每个字典对应一个形状,包含来自 dbf 文件的每个形状的属性。例如,如果 name=’counties’,则 self.counties 将是地图投影坐标中每个形状的 x,y 顶点列表,而 self.counties_info 将是包含形状属性的字典列表。单个 Polygon 形状中的环将被分割成单独的多边形,并且会向形状属性字典添加额外的键‘RINGNUM’和‘SHAPENUM’。
以下可选关键字参数仅与 Polyline 和 Polygon 形状类型相关,对于 Point 和 MultiPoint 形状则被忽略。
关键字
描述
drawbounds
绘制形状边界(默认为 True)。
zorder
形状边界的 zorder(如果未指定,则使用 mathplotlib.lines.LineCollection 的默认值)。
linewidth
形状边界线宽(默认为 0.5)
color
形状边界线颜色(默认为黑色)
antialiased
形状边界的抗锯齿开关(默认为 True)。
ax
轴实例(覆盖默认轴实例)
default_encoding
用于解析 .dbf 文件属性的编码(默认为 utf-8)
encoding_errors
编码错误处理(默认为 strict),其他可能的值:ignore, replace 和 backslashreplace
返回一个包含 shape 文件信息的元组 (num_shapes, type, min, max)。num_shapes 是形状的数量,type 是类型代码(shapelib 模块中定义的 SHPT* 常量之一,参见 http://shapelib.maptools.org/shp_api.html)以及 min 和 max 是包含顶点最小值和最大值的 4 元素列表。如果
drawbounds=True
,则一个 matplotlib.patches.LineCollection 对象将被添加到元组中。
- rotate_vector(uin, vin, lons, lats, returnxy=False)[源代码]¶
将经度为
lons
和纬度为lats
的直角网格上的矢量场 (uin,vin
) 从地理(经纬度)坐标旋转到地图投影(x/y)坐标。与 transform_vector 不同的是,不进行插值。矢量在相同网格上返回,但已旋转为 x,y 坐标。
输入矢量场以球坐标定义(它有东向和北向分量),而输出矢量场旋转到地图投影坐标(相对于 x 和 y)。矢量的幅度保持不变。
参数
描述
uin, vin
经纬度网格上的输入矢量场。
lons, lats
包含输入数据经度(度)和纬度(度)的数组,按升序排列。对于非圆柱投影(除了
cyl
、merc
、cyl
、gall
和mill
之外的投影),经度必须在 -180 到 180 的范围内。返回
uout, vout
(旋转后的矢量场)。如果可选关键字参数returnxy
为 True(默认为 False),则返回uout,vout,x,y
(其中x,y
是由lons,lats
定义的网格的地图投影坐标)。
- scatter(*args, **kwargs)[源代码]¶
在地图上绘制带标记的点(参见 matplotlib.pyplot.scatter 文档)。
如果
latlon
关键字设置为 True,则 x,y 被解释为经度和纬度(度)。对于圆柱和伪圆柱投影,数据和经度会自动调整以匹配地图投影区域,并且 x,y 会转换为地图投影坐标。如果latlon
为 False(默认),则 x 和 y 被假定为地图投影坐标。额外关键字
ax
可用于覆盖默认的坐标轴实例。其他 **kwargs 参数传递给 matplotlib.pyplot.scatter。
- set_axes_limits(ax=None)[源代码]¶
Basemap 方法对 Axes 绘图方法的包装的最后一步
使用当前或指定的坐标轴实例设置坐标轴限制,并修复地图域的纵横比。每个坐标轴实例只执行一次此操作。
在交互模式下,此方法在返回之前总是调用 draw_if_interactive。
- shadedrelief(ax=None, scale=None, **kwargs)[源代码]¶
将阴影浮雕图像显示为地图背景。
原始图像可在以下位置获取:
https://www.shadedrelief.com/
默认图像大小为 5400x2700,这可能会有点慢且占用内存。
scale
关键字允许对图像进行降采样(例如scale=0.5
会降采样到 2700x1350)。- 参数:
ax (matplotlib.image.AxesImage, 可选) – 如果给出,替代的轴实例,图像将在其中绘制
scale (float, 可选) – 如果给出,按给定因子重新缩放图像
**kwargs (dict, 可选) – 传递给
Basemap.imshow()
的关键字参数。
- 返回:
ax (matplotlib.image.AxesImage) – 轴实例
- shiftdata(lonsin, datain=None, lon_0=None, fix_wrap_around=True)[源代码]¶
移动经度(以及可选的数据),使其与地图投影区域匹配。仅适用于圆柱/伪圆柱全球投影和规则经纬度网格上的数据。经度和数据可以是 1 维或 2 维,如果是 2 维,则假定经度是第二维(最右边)。
参数
描述
lonsin
原始的 1 维或 2 维经度。
关键字
描述
datain
原始的 1 维或 2 维数据。默认为 None。
lon_0
地图投影区域的中心。默认为 None,由当前地图投影给出。
fix_wrap_around
如果为 True,则重新索引(如果需要)经度(和数据),以避免因将 [lon_0-180, lon_0+180] 区间外的点经度重新映射回区间内而导致的跳跃。如果为 False,则不重新索引经度和数据,但要确保经度在 [lon_0-180, lon_0+180] 范围内。
如果给出 datain,则返回
lonsout, dataout
(经度和数据已调整以适应 [lon_0-180, lon_0+180] 区间);否则,仅返回调整后的经度。如果转换后的经度位于地图投影区域之外,则数据将被掩码,经度将被设置为 1.e30。
- streamplot(x, y, u, v, *args, **kwargs)[源代码]¶
绘制矢量流的流线(参见 matplotlib.pyplot.streamplot 文档)。
如果
latlon
关键字设置为 True,则 x,y 被解释为经度和纬度(度)。对于圆柱和伪圆柱投影,数据和经度会自动调整以匹配地图投影区域,并且 x,y 会转换为地图投影坐标。如果latlon
为 False(默认),则 x 和 y 被假定为地图投影坐标。额外的关键字
ax
可用于覆盖默认轴实例。其他 *args 和 **kwargs 参数传递给 matplotlib.pyplot.streamplot。
- tissot(lon_0, lat_0, radius_deg, npts, ax=None, **kwargs)[源代码]¶
绘制一个以
lon_0,lat_0
为中心的多边形。该多边形近似于地球表面上一个半径为radius_deg
度(沿经度lon_0
)的圆,由npts
个顶点组成。该多边形表示蒂索指示圈(Tissot’s Indicatrix,http://en.wikipedia.org/wiki/Tissot’s_Indicatrix),在地图上绘制时显示地图投影固有的变形。注意
无法处理多边形与地图投影域的边缘相交然后再次进入该域的情况。
额外的关键字
ax
可用于覆盖默认轴实例。其他 **kwargs 参数传递给 matplotlib.patches.Polygon。
返回一个 matplotlib.patches.Polygon 对象。
- transform_scalar(datin, lons, lats, nx, ny, returnxy=False, checkbounds=False, order=1, masked=False)[源代码]¶
将经度为
lons
和纬度为lats
的经纬度网格上的标量场 (datin
) 插值到ny
xnx
的地图投影网格。通常用于将数据转换为地图投影坐标,以便使用imshow()
在地图上绘图。参数
描述
datin
经纬度网格上的输入数据。
lons, lats
包含输入数据经度(度)和纬度(度)的 1 维数组,按升序排列。对于非圆柱投影(除了
cyl
、merc
、cea
、gall
和mill
之外的投影),经度必须在 -180 到 180 的范围内。nx, ny
地图投影坐标中输出规则网格的大小
关键字
描述
returnxy
如果为 True,则还会返回地图投影网格的 x 和 y 值(默认为 False)。
checkbounds
如果为 True,则会检查经度和纬度值以确保它们位于地图投影区域内。默认为 False,地图投影区域外的数据将被裁剪到边界值。
masked
如果为 True,插值数据将作为掩码数组返回,地图投影区域外的值被掩码(默认为 False)。
order
0 表示最近邻插值,1 表示双线性插值,3 表示三次样条插值(默认为 1)。三次样条插值需要 scipy.ndimage。
返回
datout
(地图投影网格上的数据)。如果 returnxy=True,则返回data,x,y
。
- transform_vector(uin, vin, lons, lats, nx, ny, returnxy=False, checkbounds=False, order=1, masked=False)[源代码]¶
将经度为
lons
和纬度为lats
的经纬度网格上的矢量场 (uin,vin
) 旋转并插值到ny
xnx
的地图投影网格。输入矢量场以球坐标定义(它有东向和北向分量),而输出矢量场旋转到地图投影坐标(相对于 x 和 y)。矢量的幅度保持不变。
参数
描述
uin, vin
经纬度网格上的输入矢量场。
lons, lats
包含输入数据经度(度)和纬度(度)的 1 维数组,按升序排列。对于非圆柱投影(除了
cyl
、merc
、cea
、gall
和mill
之外的投影),经度必须在 -180 到 180 的范围内。nx, ny
地图投影坐标中输出规则网格的大小
关键字
描述
returnxy
如果为 True,则还会返回地图投影网格的 x 和 y 值(默认为 False)。
checkbounds
如果为 True,则会检查经度和纬度值以确保它们位于地图投影区域内。默认为 False,地图投影区域外的数据将被裁剪到边界值。
masked
如果为 True,插值数据将作为掩码数组返回,地图投影区域外的值被掩码(默认为 False)。
order
0 表示最近邻插值,1 表示双线性插值,3 表示三次样条插值(默认为 1)。三次样条插值需要 scipy.ndimage。
返回
uout, vout
(地图投影网格上的矢量场)。如果 returnxy=True,则返回uout,vout,x,y
。
- warpimage(image='bluemarble', scale=None, **kwargs)[源代码]¶
将图像(由
image
关键字指定的文件名)显示为地图背景。如果 image 是一个 URL(以“http”开头),则使用 urllib.urlretrieve 下载到临时文件。默认(如果未指定
image
)是显示来自 http://visibleearth.nasa.gov/ 的“blue marble next generation”图像。指定的图像必须具有覆盖整个地球的像素,采用规则的经纬度网格,起始于西经 180 度和南极。适用于来自 http://earthobservatory.nasa.gov/Features/BlueMarble/BlueMarble_monthlies.php 的全球图像。
关键字
scale
可用于对图像进行降采样(重新缩放)。小于 1.0 的值将加快速度,但会牺牲图像分辨率。额外的关键字
ax
可用于覆盖默认轴实例。**kwargs 参数传递给
imshow()
。返回一个 matplotlib.image.AxesImage 实例。
- wmsimage(server, xpixels=400, ypixels=None, format='png', alpha=None, verbose=False, **kwargs)[源代码]¶
使用开放地理空间联盟 (OGC) 标准接口从 WMS 服务器检索图像并在地图上显示。需要 OWSLib (http://pypi.python.org/pypi/OWSLib)。为了使用此方法,必须使用
epsg
关键字创建 Basemap 实例来定义地图投影,除非使用cyl
投影(在这种情况下,假定 epsg 代码为 4326)。关键字
描述
server
WMS 服务器 URL。
xpixels
请求的 x 方向图像像素数量(默认为 400)。
ypixels
请求的 y 方向图像像素数量。默认值(None)是根据 xpixels 和地图投影区域的纵横比推断数量。
format
所需的图像格式(默认为 'png')
alpha
Alpha 混合值,介于 0(透明)和 1(不透明)之间(默认为 None)
verbose
如果为 True,则打印 WMS 服务器信息(默认为 False)。
**kwargs
传递给 OWSLib.wms.WebMapService 和 OWSLib.wms.WebMapService.getmap 的额外关键字参数。
额外的关键字
ax
可用于覆盖默认轴实例。返回一个 matplotlib.image.AxesImage 实例。
- mpl_toolkits.basemap.addcyclic(*arr, **kwargs)[源代码]¶
向一个或多个数组添加经度上的循环(环绕)点,最后一个数组为以度为单位的经度。例如:
data1out, data2out, lonsout = addcyclic(data1,data2,lons)
关键字
描述
axis
表示经度的维度(默认为 -1,即最右边的维度)
cyclic
周期域的宽度(默认为 360)
- mpl_toolkits.basemap.interp(datain, xin, yin, xout, yout, checkbounds=False, masked=False, order=1)[源代码]¶
将直角网格(x =
xin
,y =yin
)上的数据 (datain
) 插值到 x =xout
,y =yout
的网格。参数
描述
datain
一个 2 维数组,第一维对应 y,第二维对应 x。
xin, yin
包含 datain 网格的 x 和 y 的 1 维数组,按升序排列。
xout, yout
包含所需输出网格的 x 和 y 的 2 维数组。
关键字
描述
checkbounds
如果为 True,则检查 xout 和 yout 的值,以确保它们位于 xin 和 xin 指定的范围内。如果为 False,并且 xout,yout 在 xin,yin 之外,则插值结果将被裁剪到输入网格 (xin,yin) 边界上的值。默认为 False。
masked
如果为 True,则 xin 和 yin 范围外的点将被掩码(在掩码数组中)。如果 masked 设置为数字,则 xin 和 yin 范围外的点将被设置为该数字。默认为 False。
order
0 表示最近邻插值,1 表示双线性插值,3 表示三次样条插值(默认为 1)。order=3 需要 scipy.ndimage。
注意
如果 datain 是一个掩码数组且使用 order=1(双线性插值),则如果 datain 中任何四个周围的点被掩码,dataout 的元素也将被掩码。为避免这种情况,请分两次进行插值:首先使用 order=1(生成 dataout1),然后使用 order=0(生成 dataout2)。然后将 dataout1 中所有被掩码的值替换为 dataout2 中对应的元素(使用 numpy.where)。这样,如果 datain 中任何四个周围的点被掩码,则有效使用最近邻插值,否则使用双线性插值。
返回
dataout
,即网格xout, yout
上的插值数据。
- mpl_toolkits.basemap.maskoceans(lonsin, latsin, datain, inlands=True, resolution='l', grid=5)[源代码]¶
掩码在经度
lonsin
和纬度latsin
网格上定义的数据 (datain`),以便不绘制水域上的点。`
参数
描述
lonsin, latsin
包含网格经度和纬度的 2 维数组。
datain
由
lonsin
和latsin
定义的网格上的 2 维输入数组。inlands
如果为 False,则只掩码海洋点,不掩码内陆湖泊(默认为 True)。
resolution
gshhs 海岸线分辨率用于定义陆海掩膜(默认为 'l',可用 'c'、'l'、'i'、'h' 或 'f')
grid
陆海掩膜网格间距(分钟)(默认为 5;10、2.5 和 1.25 也可用)。
返回一个与 datain 形状相同的掩码数组,其中“湿”点被掩码。
- mpl_toolkits.basemap.shiftgrid(lon0, datain, lonsin, start=True, cyclic=360.0)[源代码]¶
向东或向西移动全球经纬度网格。
参数
描述
lon0
调整后网格的起始经度(如果 start=False,则为结束经度)。lon0 必须在输入网格上(在 lonsin 的范围内)。
datain
经度为最右维的原始数据。
lonsin
原始经度。
关键字
描述
start
如果为 True,则 lon0 表示新网格的起始经度。如果为 False,则 lon0 是结束经度。默认为 True。
cyclic
周期域的宽度(默认为 360)
返回
dataout,lonsout
(调整后网格上的数据和经度)。