cartopy.mpl.geoaxes.GeoAxes#

class cartopy.mpl.geoaxes.GeoAxes(*args, **kwargs)[源代码]#

基类:Axes

的子类 matplotlib.axes.Axes 它代表一张地图 Projection .

此类取代Matplotlib Axes 类创建时 projection 关键字例如::

# Set up a standard map for latlon data.
geo_axes = plt.axes(projection=cartopy.crs.PlateCarree())

# Set up a standard map for latlon data for multiple subplots
fig, geo_axes = plt.subplots(nrows=2, ncols=2,
                    subplot_kw={'projection': ccrs.PlateCarree()})

# Set up an OSGB map.
geo_axes = plt.subplot(2, 2, 1, projection=cartopy.crs.OSGB())

当将源投影提供给其绘制方法之一时,使用 transform 关键字,标准Matplotlib绘图结果从源坐标转换为目标投影。例如::

# Plot latlon data on an OSGB map.
plt.axes(projection=cartopy.crs.OSGB())
plt.contourf(x, y, data, transform=cartopy.crs.PlateCarree())

使用标准matplotlib创建GeoAxes对象 Axes args和kwargs。

参数:

projection (cartopy.crs.Projection) -- 该轴的目标投影。

add_feature(feature, **kwargs)[源代码]#

添加给定的 Feature 实例到轴。

参数:

feature -- 的实例 Feature .

返回:

A cartopy.mpl.feature_artist.FeatureArtist 实例--负责绘制要素的实例。

备注

Matplotlib关键字参数可以在绘制特征时使用。这允许对“faceccolor”、“alpha”等方面进行标准Matplotlib控制。

add_geometries(geoms, crs, **kwargs)[源代码]#

将给定的shapely几何形状(在给定的crs中)添加到轴上。

参数:
  • geoms -- 一系列精美的几何形状。

  • crs -- 其中定义了所提供的几何形状的制图CRS。

  • styler -- 一个可调用对象,返回给定几何形状的matplotlib补丁样式。

返回:

A cartopy.mpl.feature_artist.FeatureArtist 实例--负责绘制要素的实例。

备注

Matplotlib关键字参数可以在绘制特征时使用。这允许对“faceccolor”、“alpha”等方面进行标准Matplotlib控制。

add_image(factory, *args, **kwargs)[源代码]#

将图像“工厂”添加到轴。

添加的任何图像“工厂”都将被要求在绘制时检索具有给定边界框的相关元数据的图像。这种方法的优点是,在添加图像工厂时不需要知道地图的限制,但可以推迟到添加了可能影响限制的所有内容。

参数:

factory -- 目前,图像“工厂”只是一个具有 image_for_domain 法图像工厂的例子包括 cartopy.io.img_nest.NestedImageCollectioncartopy.io.img_tiles.GoogleTiles .

add_raster(raster_source, **slippy_image_kwargs)[源代码]#

将给定的格栅源添加到地理轴。

参数:

raster_source -- cartopy.io.RasterSource 类似的例子 raster_source 可以是实现RasterSource接口的任何对象,包括诸如 WMSRasterSourceWMTSRasterSource . 请注意,图像检索是在绘制时进行的,而不是在创建时进行的。

add_wms(wms, layers, wms_kwargs=None, **kwargs)[源代码]#

将指定的GMS层添加到轴。

该功能需要owslib和PIL才能工作。

参数:
  • wms (string or owslib.wms.WebMapService instance) -- 要使用的网络地图服务URL或owslib GMS实例。

  • layers (string or iterable of string) -- 要使用的层的名称。

  • wms_kwargs (dict or None, optional) -- 传递到 WMSRasterSource 构造函数的 getmap_extra_kwargs 用于定义getmap时间关键字参数。

所有其他关键词都传递给图像艺术家的构建。看到 imshow() 了解更多详细信息。

add_wmts(wmts, layer_name, wmts_kwargs=None, **kwargs)[源代码]#

将指定的WMSG层添加到轴。

该功能需要owslib和PIL才能工作。

参数:
  • wmts -- WMSG或owslib.wmts. WebMapTilService实例的URL。

  • layer_name -- 要使用的图层的名称。

  • wmts_kwargs (dict or None, optional) -- 传递到 WMTSRasterSource 构造函数的 gettile_extra_kwargs (e.g.时间)。

所有其他关键词都传递给图像艺术家的构建。看到 imshow() 了解更多详细信息。

annotate(text, xy, xytext=None, xycoords='data', textcoords=None, *args, **kwargs)[源代码]#

将“transform”关键字添加到 annotate() .

参数:

transform -- A Projection .

autoscale_view(tight=None, scalex=True, scaley=True)[源代码]#

使用数据限制自动缩放视图限制,同时考虑地理轴的投影。

看到 imshow() 了解更多详细信息。

background_img(name='ne_shaded', resolution='low', extent=None, cache=False)[源代码]#

将背景图像从CARTOPY_UTE_CLARGROUP GROUP环境变量指定的目录中保存的精选预先准备的图像中添加到地图中。该目录使用funcc检查:' self.read_user_background_images '并且需要包含定义图像元数据的SON文件。

参数:
  • name (optional) -- 根据JSON文件的内容读取的图像的名称。一个典型的文件可能有,例如:'ne_shaded':自然地球阴影浮雕'ne_grey':自然地球灰色地球。

  • resolution (optional) -- 根据SON文件的内容,要读取的图像的分辨率。典型的文件可能针对图像的每个名称包含以下内容:“low”、“med”、“High”、“vhigh”、“full”。

  • extent (optional) -- 使用放大到小区域的高分辨率背景图像将花费很长时间进行渲染,因为图像是全局准备的,即使只使用小区域。添加范围将仅呈现特定的地理区域。指定为 [longitude start, longitude end, latitude start, latitude end] . 例如 [-11, 3, 48, 60] 对英国 或 [167.0, 193.0, 47.0, 68.0] 跨越日期线。

  • cache (optional) -- 是否将加载的图像缓存到内存中的逻辑标志。在使用范围之前存储图像。

barbs(x, y, u, v, *args, **kwargs)[源代码]#

绘制一片倒刺区域。

参数:
  • x -- 包含数据点x位置的数组。

  • y -- 包含数据点y位置的数组。

  • u -- u方向上的一个载体数据数组。

  • v -- v方向上的向量数据数组。

  • transform (cartopy.crs.Projection or Matplotlib transform) -- 定义载体的坐标系。

  • regrid_shape (int or 2-tuple of ints) -- 如果给出,则指定倒刺所在的点将被内插到投影空间中的规则网格上。如果给出单个整元,则该整元将用作最小网格长度维度,而另一维度将根据目标范围的长宽比按比例放大。如果给定一对int,它们分别确定x和y方向上的网格长度。

  • target_extent (4-tuple) -- 如果给出,则指定常规网格在目标CRS中定义的范围 regrid_shape 将会有。扩展到地图投影的当前范围。

看到 matplotlib.pyplot.barbs() 有关参数和其他关键字参数的详细信息。

备注

向东网格和向北网格必须定义为网格。

clear()[源代码]#

清除当前轴并添加边界线。

coastlines(resolution='auto', color='black', **kwargs)[源代码]#

添加沿海 outlines 到自然地球“海岸线”Shapetime集合中的当前轴。

参数:

resolution (str or cartopy.feature.Scaler, optional) -- 从自然地球数据集使用的命名分辨率。目前可以是“Auto”(默认)、“110 m”、“50 m”和“10 m”之一,或Scaler对象。 如果选择“自动”,则分辨率由以下公式定义 auto_scaler .

contour(*args, **kwargs)[源代码]#

将“transform”关键字添加到 contour() .

参数:
  • transform -- A Projection .

  • transform_first (bool, optional) -- 如果为True,这将在计算轮廓之前将输入参数转换到投影空间,这比在数据空间中计算轮廓并投影填充的多边形快得多。使用此方法无法处理包裹坐标,并且可能会在域中间产生误导性的轮廓。要使用投影空间方法,必须提供输入参数X和Y并且是2维的。默认值为False,用于计算数据空间中的轮廓。

contourf(*args, **kwargs)[源代码]#

将“transform”关键字添加到 contourf() .

参数:
  • transform -- A Projection .

  • transform_first (bool, optional) -- 如果为True,这将在计算轮廓之前将输入参数转换到投影空间,这比在数据空间中计算轮廓并投影填充的多边形快得多。使用此方法无法处理包裹坐标,并且可能会在域中间产生误导性的轮廓。要使用投影空间方法,必须提供输入参数X和Y并且是2维的。默认值为False,用于计算数据空间中的轮廓。

draw(renderer=None, **kwargs)[源代码]#

扩展标准行为 matplotlib.axes.Axes.draw() .

在调用标准Matplotlib绘制之前绘制图像工厂结果。如果尚未设置限制,则使用全局范围。

format_coord(x, y)[源代码]#
返回:

A string formatted for the Matplotlib GUI status bar.

get_extent(crs=None)[源代码]#

获取地图在给定坐标系中的范围(x 0,x1,y 0,y1)。

如果没有给出crs,则返回的范围的坐标系将是此轴的CRS。

get_tightbbox(renderer=None, *args, **kwargs)[源代码]#

扩展标准行为 matplotlib.axes.Axes.get_tightbbox() .

调整轴的长宽比和背景补丁的位置,然后计算紧边界框。

gridlines(crs=None, draw_labels=False, xlocs=None, ylocs=None, dms=False, x_inline=None, y_inline=None, auto_inline=True, xformatter=None, yformatter=None, xlim=None, ylim=None, rotate_labels=None, xlabel_style=None, ylabel_style=None, labels_bbox_style=None, xpadding=5, ypadding=5, offset_angle=25, auto_update=None, formatter_kwargs=None, **kwargs)[源代码]#

在绘制时自动将网格线添加到给定坐标系中的轴。

参数:
  • crs (optional) -- 的 cartopy._crs.CRS 定义绘制网格线的坐标系。默认为 cartopy.crs.PlateCarree .

  • draw_labels (optional) -- 切换是否绘制标签。为了更好地控制, Gridliner 可以单独修改。默认为假。 - 字符串:“x”或“y”仅绘制相应的标签 在CRS中协调。- 列表:可以包含侧面标识符和/或坐标 类型以选择要绘制的类型。 对于所有使用的标签 ["x", "y", "top", "bottom", "left", "right", "geo"] . - dict:密钥是侧标识符 (“顶部”、“底部”、“左”、“右”)并且值是 坐标(“x”、“y”);这样您就可以精确地 决定绘制什么样的标签以及在哪里。 对于底部的x标签和右侧的y标签, 可以通过 {"bottom": "x", "left": "y"} . 请注意,默认情况下,除非明确要求,否则x和y标签不会分别绘制在左/右和上/下边缘。

  • xlocs (optional) -- 网格线位置的迭代项或 matplotlib.ticker.Locator 实例,该实例将用于确定网格线在给定CRS的x坐标中的位置。返回到无,这意味着自动定位网格线。

  • ylocs (optional) -- 网格线位置的迭代项或 matplotlib.ticker.Locator 实例,该实例将用于确定网格线在给定CRS的y坐标中的位置。返回到无,这意味着自动定位网格线。

  • dms (bool) -- 当使用默认的经度和纬度定位器和格式器时,如果分钟设置为True,而不是分数,则刻度可以在分钟和秒上停止。此关键字传递给 Gridliner 并且如果显式设置xlocs和ylocs则没有效果。

  • x_inline (optional) -- 切换绘制的x标签是否应内联。

  • y_inline (optional) -- 切换绘制的y标签是否应内联。

  • auto_inline (optional) -- 根据投影自动设置x_inline和y_inline

  • xformatter (optional) -- A matplotlib.ticker.Formatter 实例来格式化x坐标网格线的标签。它默认为无,这意味着使用 cartopy.mpl.ticker.LongitudeFormatter 开始与 dms 论点,如果crs是 PlateCarree 类型.

  • yformatter (optional) -- A matplotlib.ticker.Formatter 实例来格式化y坐标网格线的标签。它默认为无,这意味着使用 cartopy.mpl.ticker.LatitudeFormatter 开始与 dms 论点,如果crs是 PlateCarree 类型.

  • xlim (optional) -- 为网格线设置限制,以便它们不会一直延伸到边界的边缘。xlim可以是单个数字或(min,max)多元组。如果是单个数字,则限制为(-xlim,+xlim)。

  • ylim (optional) -- 为网格线设置限制,以便它们不会一直延伸到边界的边缘。ylim可以是单个数字或(min,max)多元组。如果是单个数字,则限制为(-ylim,+ylim)。

  • rotate_labels (optional, bool, str) -- 允许旋转非内联标签。 - 否:不旋转标签。- True:平行于网格线旋转标签。- 无:除某些投影外不旋转(默认)。- 浮动:按照此值(以度为单位)旋转标签。

  • xlabel_style (dict) -- 一本词典传递给 ax.text 在x标签上创建文本标签的样式。

  • ylabel_style (dict) -- 一本词典传递给 ax.text 在y标签上创建用于文本标签样式的标签。

  • labels_bbox_style (dict) -- 所有文本标签的bbox样式。

  • xpadding (float) -- x标签的填充。如果为负,则在地图内部绘制标签。

  • ypadding (float) -- y标签的填充。如果为负,则在地图内部绘制标签。

  • offset_angle (float) -- 以度为单位的角度差以定义何时必须翻转标签以更具可读性。例如,值为10时,垂直顶部标签只能翻转100度。

  • auto_update (bool, default=True) -- 刷新情节时是否更新网格线和标签。 ..已废弃::0.23 未来,网格线和标签将始终更新。

  • formatter_kwargs (dict, optional) -- 传递给默认格式器的选项。看到 LongitudeFormatterLatitudeFormatter

  • Parameters (Keyword)

  • ------------------

  • **kwargs -- 所有其他关键字都控制行属性。 这些都传递给 matplotlib.collections.Collection .

返回:

gridliner -- A cartopy.mpl.gridliner.Gridliner instance.

备注

位置和内联设置的“x”和“y”不一定对应于X和Y,而是对应于指定CRS的第一个和第二个坐标。对于PlateCarree网格线的常见情况,这些网格线对应于纬度和纬度。根据地图使用的投影,子午线和平行线可以同时穿过X轴和Y轴。

hexbin(x, y, *args, **kwargs)[源代码]#

将“transform”关键字添加到 hexbin() .

首先将这些点转换为轴的投影,然后使用轴投影中的数据计算hexbin算法。

参数:

transform -- A Projection .

hold_limits(hold=True)[源代码]#

跟踪此上下文管理器生命周期内的原始视图和数据限制,可以选择在管理器退出后将任何更改恢复到原始值。

参数:

hold (bool, optional) -- 上下文管理器退出后是否恢复数据和视图限制。 切换到True。

imshow(img, *args, **kwargs)[源代码]#

将“transform”关键字添加到 imshow() .

参数:
  • img -- 要显示的图像。

  • transform (Projection or matplotlib transform) -- 给定图像为矩形的坐标系。

  • regrid_shape (int or pair of ints) -- 所需图像的形状(如果需要转换)。 如果给出单个整数,则将其用作最小长度维度,而另一个维度将根据目标范围的长宽比按比例放大。默认情况是,转换图像的最小维度长度为750,因此对于转换为全局PlateCarree投影的图像,生成的转换图像的形状将为 (750, 1500) .

  • extent (tuple) -- 表格中图像的角坐标 (left, right, bottom, top) .坐标应该位于传递给transform关键字的坐标系中。

  • origin ({'lower', 'upper'}) -- 垂直像素的起源。看到 matplotlib.pyplot.imshow() 了解详情。默认值为 'upper' . 0.18之前,是 'lower' .

pcolor(*args, **kwargs)[源代码]#

将“transform”关键字添加到 pcolor() .

参数:

transform -- A Projection .

pcolormesh(*args, **kwargs)[源代码]#

将“transform”关键字添加到 pcolormesh() .

参数:

transform -- A Projection .

quiver(x, y, u, v, *args, **kwargs)[源代码]#

绘制箭头场。

参数:
  • x -- 包含数据点x位置的数组。

  • y -- 包含数据点y位置的数组。

  • u -- u方向上的一个载体数据数组。

  • v -- v方向上的向量数据数组。

  • transform (cartopy.crs.Projection or Matplotlib transform) -- 定义载体的坐标系。

  • regrid_shape (int or 2-tuple of ints) -- 如果给出,则指定箭头所在的点将被插值到投影空间中的规则网格上。如果给出单个整元,则该整元将用作最小网格长度维度,而另一维度将根据目标范围的长宽比按比例放大。如果给定一对int,它们分别确定x和y方向上的网格长度。

  • target_extent (4-tuple) -- 如果给出,则指定常规网格在目标CRS中定义的范围 regrid_shape 将会有。扩展到地图投影的当前范围。

看到 matplotlib.pyplot.quiver() 有关参数和其他关键字参数的详细信息。

备注

向东网格和向北网格必须定义为网格。

read_user_background_images(verify=True)[源代码]#

读取指定的CARTOPY_USER_PROGRAM GROUNDS环境变量中的元数据以填充background_img的字典。

如果未设置CARTOPY_GROUP_CLARGROUP GROUP,则默认情况下,lib/Cartopy/data/raster/natural_earth/中的图像将可用。

元数据应该是一个标准的JSON文件,它指定了一个两级字典。第一个层次是图像类型。对于每种图像类型,必须有以下字段: __comment__, __source__ 和 __projection__ 然后是一个元素,给出每个分辨率的文件名。

示例SON文件可以在:lib/cartopy/data/raster/natural_earth/images.json

scatter(*args, **kwargs)[源代码]#

将“transform”关键字添加到 scatter() .

参数:

transform -- A Projection .

set(*, adjustable=<UNSET>, agg_filter=<UNSET>, alpha=<UNSET>, anchor=<UNSET>, animated=<UNSET>, aspect=<UNSET>, autoscale_on=<UNSET>, autoscalex_on=<UNSET>, autoscaley_on=<UNSET>, axes_locator=<UNSET>, axisbelow=<UNSET>, boundary=<UNSET>, box_aspect=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, extent=<UNSET>, facecolor=<UNSET>, forward_navigation_events=<UNSET>, frame_on=<UNSET>, gid=<UNSET>, in_layout=<UNSET>, label=<UNSET>, mouseover=<UNSET>, navigate=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, position=<UNSET>, prop_cycle=<UNSET>, rasterization_zorder=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, subplotspec=<UNSET>, title=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, xbound=<UNSET>, xlabel=<UNSET>, xlim=<UNSET>, xmargin=<UNSET>, xscale=<UNSET>, xticklabels=<UNSET>, xticks=<UNSET>, ybound=<UNSET>, ylabel=<UNSET>, ylim=<UNSET>, ymargin=<UNSET>, yscale=<UNSET>, yticklabels=<UNSET>, yticks=<UNSET>, zorder=<UNSET>)#

一次设置多个属性。

支持的属性有

属性:

adjustable: {'box', 'datalim'} agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image alpha: float or None anchor: (float, float) or {'C', 'SW', 'S', 'SE', 'E', 'NE', ...} animated: bool aspect: {'auto', 'equal'} or float autoscale_on: bool autoscalex_on: unknown autoscaley_on: unknown axes_locator: Callable[[Axes, Renderer], Bbox] axisbelow: bool or 'line' boundary: unknown box_aspect: float or None clip_box: BboxBase or None clip_on: bool clip_path: Patch or (Path, Transform) or None extent: unknown facecolor or fc: color figure: Figure or SubFigure forward_navigation_events: bool or "auto" frame_on: bool gid: str in_layout: bool label: object mouseover: bool navigate: bool navigate_mode: unknown path_effects: list of AbstractPathEffect picker: None or bool or float or callable position: [left, bottom, width, height] or Bbox prop_cycle: Cycler rasterization_zorder: float or None rasterized: bool sketch_params: (scale: float, length: float, randomness: float) snap: bool or None subplotspec: unknown title: str transform: Transform url: str visible: bool xbound: (lower: float, upper: float) xlabel: str xlim: (left: float, right: float) xmargin: float greater than -0.5 xscale: unknown xticklabels: unknown xticks: unknown ybound: (lower: float, upper: float) ylabel: str ylim: (bottom: float, top: float) ymargin: float greater than -0.5 yscale: unknown yticklabels: unknown yticks: unknown zorder: float

set_boundary(path, transform=None)[源代码]#

给定路径,更新 spines['geo']patch .

参数:
set_extent(extents, crs=None)[源代码]#

设置给定坐标系中地图的范围(x 0,x1,y 0,y1)。

如果没有给出crs,则范围的坐标系将被假设为该轴投影的大地测量版本。

参数:

extents -- 表示所需范围(x 0,x1,y 0,y1)的浮点数组。

set_global()[源代码]#

将轴的范围设置为投影的极限。

备注

在某些情况下,投影的合理范围有限, set_global 该方法实际上并不能使整个地球可见。相反,将使用最合适的范围(例如,英国地形测量局将范围设置为不列颠群岛周围。

set_xticks(ticks, minor=False, crs=None)[源代码]#

设置x勾选。

参数:
  • ticks -- 表示x刻度的所需位置的浮点数列表。

  • minor (optional) -- 标志,指示标记是否应该是较小的标记,即较小且未标记(默认为False)。

  • crs (optional) -- 的实例 CRS 指示所提供的刻度值的坐标系。如果未指定坐标系,则假设这些值位于投影的坐标系中。仅支持从一个矩形坐标系到另一个矩形坐标系的转换(默认为无)。

备注

该界面可能会发生变化,同时添加了支持其他地图投影的功能。

set_yticks(ticks, minor=False, crs=None)[源代码]#

设置y勾选。

参数:
  • ticks -- 表示y刻度的所需位置的浮点数列表。

  • minor (optional) -- 标志,指示标记是否应该是较小的标记,即较小且未标记(默认为False)。

  • crs (optional) -- 的实例 CRS 指示所提供的刻度值的坐标系。如果未指定坐标系,则假设这些值位于投影的坐标系中。仅支持从一个矩形坐标系到另一个矩形坐标系的转换(默认为无)。

备注

该界面可能会发生变化,同时添加了支持其他地图投影的功能。

stock_img(name='ne_shaded', **kwargs)[源代码]#

将标准图像添加到地图。

目前,图像的唯一(也是默认)选项是自然地球着色浮雕格栅的降采样版本。其他选项(例如,Alpha)将传递给 GeoAxes.imshow() .

streamplot(x, y, u, v, **kwargs)[源代码]#

绘制一个矢流的流线。

参数:
  • x -- 包含数据点x位置的数组。

  • y -- 包含数据点y位置的数组。

  • u -- u方向上的一个载体数据数组。

  • v -- v方向上的向量数据数组。

  • transform (cartopy.crs.Projection or Matplotlib transform.) -- 定义向量场的坐标系。

看到 matplotlib.pyplot.streamplot() 有关参数和关键字参数的详细信息,请参见。

备注

向东网格和向北网格必须定义为网格。

tissot(rad_km=500, lons=None, lats=None, n_samples=80, **kwargs)[源代码]#

将天梭的指标添加到轴上。

参数:
  • rad_km -- 要绘制的圆的半径(公里)。

  • lons -- numpy. nd数组、经度值列表或数组,用于定位每个圆的中心。指定多个维度允许绘制单个点,而1D阵列则生成点网格。

  • lats -- numpy. ndray、纬度值列表或多元组,位于每个圆的中心。看看lons。

  • n_samples -- 指定每个圆圆周周围采样的点的数量。

**kwargs 被直通到 cartopy.feature.ShapelyFeature .