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.
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 = cf.read('<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
A gallery of outputs made with cf-plot, showcasing a range of plotting possibilities with links to relevant documentation pages and to example code, can be found on this dedicated page within the documentation, as illustrated in the (static) image at the top of this document.
See the cf-plot homepage
(https://ncas-cms.github.io/cf-plot/build/
) for the full online documentation.
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
(https://ncas-cms.github.io/cf-plot/build/download.html
)
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.
For any queries, see the
guidance page
(https://ncas-cms.github.io/cf-plot/build/issues.html
).