Cartopy

Previous topic

Cartopy matplotlib integration reference document

Next topic

The cartopy Feature interface

This Page

Cartopy map gridlines and tick labels

The Gridliner instance, often created by calling the cartopy.mpl.geoaxes.GeoAxes.gridlines() method on a cartopy.mpl.geoaxes.GeoAxes instance, has a variety of attributes which can be used to determine draw time behaviour of the gridlines and labels.

Important

The current Gridliner interface is likely to undergo a significant change in the versions following v0.6 in order to fix some of the underying limitations of the current implementation.

class cartopy.mpl.gridliner.Gridliner(axes, crs, draw_labels=False, collection_kwargs=None)[source]

Object used by cartopy.mpl.geoaxes.GeoAxes.gridlines() to add gridlines and tick labels to a map.

Args:

collection_kwargs = None

A dictionary passed through to matplotlib.collections.LineCollection on grid line creation.

n_steps = None

The number of interpolation points which are used to draw the gridlines.

xformatter = None

The Formatter to use for the x labels.

xlabel_artists = None

The x labels which were created at draw time.

xlabel_style = None

A dictionary passed through to ax.text on x label creation for styling of the text labels.

xlabels_bottom = None

Whether to draw labels on the bottom of the map.

xlabels_top = None

Whether to draw labels on the top of the map.

xline_artists = None

The x gridlines which were created at draw time.

xlines = None

Whether to draw the x gridlines.

xlocator = None

The Locator to use for the x gridlines and labels.

yformatter = None

The Formatter to use for the y labels.

ylabel_artists = None

The y labels which were created at draw time.

ylabel_style = None

A dictionary passed through to ax.text on y label creation for styling of the text labels.

ylabels_left = None

Whether to draw labels on the left hand side of the map.

ylabels_right = None

Whether to draw labels on the right hand side of the map.

yline_artists = None

The y gridlines which were created at draw time.

ylines = None

Whether to draw the y gridlines.

ylocator = None

The Locator to use for the y gridlines and labels.

The following contrived example makes use of many of the features of the Gridliner class to produce customized gridlines and tick labels:

import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import cartopy.crs as ccrs

from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER


ax = plt.axes(projection=ccrs.Mercator())
ax.coastlines()

gl = ax.gridlines(crs=ccrs.PlateCarree(), draw_labels=True,
                  linewidth=2, color='gray', alpha=0.5, linestyle='--')
gl.xlabels_top = False
gl.ylabels_left = False
gl.xlines = False
gl.xlocator = mticker.FixedLocator([-180, -45, 0, 45, 180])
gl.xformatter = LONGITUDE_FORMATTER
gl.yformatter = LATITUDE_FORMATTER
gl.xlabel_style = {'size': 15, 'color': 'gray'}
gl.xlabel_style = {'color': 'red', 'weight': 'bold'}

plt.show()

(Source code)

../_images/gridliner-1.png