cf-plot documentation

cf-plot: code-light plotting for earth science and aligned research



cf-plot allows you to produce and customise publication-quality contour, vector, line and more plots with the power of Python, matplotlib, Cartopy and cf-python in as few lines of code as possible.

It is designed to be a useful visualisation tool for environmental, earth and aligned sciences, for example to facilitate climate and meteorological research. cf-plot is developed and maintained by the NCAS-CMS group, part of NCAS.

Brief Demonstration

In as little as four lines of Python including imports and file reading, using cf-plot you can for example produce a contour plot showing a 2D subspace of a netCDF dataset:

import cf
import cfplot as cfp
f ='<dataset name>.nc')[0]  # picks out a read-in field of the dataset
cfp.con(f.subspace(time=<chosen time value>))  # creates a contour plot of the field at that time value


To install cf-plot with its required dependencies, you can use pip:

pip install cf-python cf-plot

or you can use conda (or similar package managers such as mamba) as follows (or equivalent):

conda install -c ncas -c conda-forge cf-python cf-plot udunits2

More detail about installation is provided on the installation page of the documentation.


Everyone is welcome to contribute to cf-plot in the form of bug reports, documentation, code, design proposals, and more.

Contributing guidelines will be added to the repository shortly.

Help: Issues, Questions, Feature Requests, etc.

For any queries, see the guidance page here.