You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

contours

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

contours

Contour calculation with Matplotlib.

0.0.2
pipPyPI
Maintainers
1

contours - contour calculation with matplotlib

.. begin-description

The contours package exposes Matplotlib's contour generators to the user providing an equivalent of MATLAB's contourc function. This is done for grids (including curvilinear) as well as unstructured data via Delaunay triangulation (FUTURE).

Regular contours can be returned as NumPy_ arrays or as Shapely_ LineStrings and LinearRings. Filled contours can be returned as NumPy_ arrays or as Shapely_ Polygons.

Contour calculation without plotting is currently an open issue #367_ for Matplotlib. In that discussion, the type of hackery done in this library is discouraged by the Matplotlib developers. As of this writing there has been no decision as to whether exposing contour calculations is a feature that should be included in Matplotlib or not. If such a refactoring in Matplotlib ever takes place, this library will be refactored to avoid using Matplotlib's internal components.

.. _Shapely: http://toblerity.org/shapely/manual.html

.. _NumPy: http://www.numpy.org

.. _#367: https://github.com/matplotlib/matplotlib/issues/367

.. end-description

.. begin-body

.. begin-links

  • Download <https://github.com/ccarocean/python-contours/archive/master.zip>_
  • GitHub <https://github.com/ccarocean/python-contours>_
  • Documentation <https://ccarocean.github.io/python-contours>_

.. end-links

.. begin-features

Features

  • Filled and non-filled contours.
  • Contours on regular grids.
  • TODO Contours on unstructured data.

.. end-features

Examples

A contrived example using QuadContourGenerator to compute the area and circumference of a circle and a ring.

from contours.core import shapely_formatter as shapely_fmt from contours.quad import QuadContourGenerator import numpy as np x = np.arange(-1, 1+0.01, 0.01) y = np.arange(-1, 1+0.01, 0.01) z = np.sqrt(x[:, np.newaxis]**2 + y[np.newaxis, :]**2) c = QuadContourGenerator.from_rectilinear(x, y, z, shapely_fmt) contour = c.filled_contour(max=1.0) print('Area: {:0.2f}'.format(contour[0].area)) Area: 3.14 print('Length: {:0.2f}'.format(contour[0].length)) Length: 6.28 contour = c.filled_contour(min=0.5, max=1.0) print('Area: {:0.2f}'.format(contour[0].area)) Area: 2.36 print('Length: {:0.2f}'.format(contour[0].exterior.length)) Length: 6.28 print('Length: {:0.2f}'.format(contour[0].interiors[0].length)) Length: 3.14

.. begin-author

Author

The contours module was written by Michael R. Shannon (@mrshannon <https://github.com/mrshannon>_) mrshannon.aerospace@gmail.com in 2017.

It is maintained by:

.. end-author

Testing

TODO

.. end-body

Keywords

math

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts