class pygmt.Figure[source]

A GMT figure to handle all plotting.

Use the plotting methods of this class to add elements to the figure. You can preview the figure using and save the figure to a file using pygmt.Figure.savefig.

Unlike traditional GMT figures, no figure file is generated until you call pygmt.Figure.savefig or pygmt.Figure.psconvert.


>>> fig = Figure()
>>> fig.basemap(region=[0, 360, -90, 90], projection='W7i', frame=True)
>>> fig.savefig("my-figure.png")
>>> # Make sure the figure file is generated and clean it up
>>> import os
>>> os.path.exists('my-figure.png')
>>> os.remove('my-figure.png')

The plot region can be specified through ISO country codes (for example, 'JP' for Japan):

>>> fig = Figure()
>>> fig.basemap(region='JP', projection="M3i", frame=True)
>>> # The fig.region attribute shows the WESN bounding box for the figure
>>> print(', '.join('{:.2f}'.format(i)  for i in fig.region))
122.94, 145.82, 20.53, 45.52

Methods Summary


Produce a basemap for the figure.


Plot continents, shorelines, rivers, and borders on maps


Plot a gray or color scale-bar on maps.

Figure.contour([x, y, z, data])

Contour table data by direct triangulation.

Figure.grdcontour(grid, **kwargs)

Convert grids or images to contours and plot them on maps

Figure.grdimage(grid, **kwargs)

Project grids or images and plot them on maps.

Figure.grdview(grid, **kwargs)

Create 3-D perspective image or surface mesh from a grid.

Figure.image(imagefile, **kwargs)

Place images or EPS files on maps.

Figure.legend([spec, position, box])

Plot legends on maps.


Place the GMT graphics logo on a map.

Figure.plot([x, y, data, sizes, direction])

Plot lines, polygons, and symbols on maps.


Convert [E]PS file(s) to other formats.

Figure.savefig(fname[, transparent, crop, …])

Save the figure to a file.

Figure.shift_origin([xshift, yshift])

Shift plot origin in x and/or y directions.[dpi, width, method])

Display a preview of the figure.

Figure.text([textfiles, x, y, text, angle, …])

Plot or typeset text on maps