Welcome to ContourPy’s documentation!

ContourPy is a Python library for calculating contours of 2D quadrilateral grids. It is written in C++11 and wrapped using pybind11.

It contains the 2005 and 2014 algorithms used in Matplotlib as well as a newer algorithm that includes more features and is available in both serial and multithreaded versions. It provides an easy way for Python libraries to use contouring algorithms without having to include Matplotlib as a dependency.

Advantages of the new algorithm compared to Matplotlib’s default algorithm of 2014 - 2022:

  1. Improved performance in many situations (see Benchmarks).

  2. Multiple return types for both contour lines and filled contours, with different complexity and performance tradeoffs (see Line type and Fill type).

  3. Multiple ways to specify chunk sizes and/or counts (see Chunks).

  4. Supports treating quads a four triangles for more detailed contours (see Quad as triangles).

  5. Supports alternative forms of interpolation of z-values (currently only logarithmic) (see z interpolation).

  6. Multithreaded option (this should be considered experimental) (see Threads).