You are reading an old version of the documentation (v3.1.3). For the latest version see
Version 3.1.3
Fork me on GitHub

Source code for matplotlib.projections

from .. import axes, cbook
from .geo import AitoffAxes, HammerAxes, LambertAxes, MollweideAxes
from .polar import PolarAxes

[docs]class ProjectionRegistry: """ Manages the set of projections available to the system. """ def __init__(self): self._all_projection_types = {}
[docs] def register(self, *projections): """ Register a new set of projections. """ for projection in projections: name = self._all_projection_types[name] = projection
[docs] def get_projection_class(self, name): """ Get a projection class from its *name*. """ return self._all_projection_types[name]
[docs] def get_projection_names(self): """ Get a list of the names of all projections currently registered. """ return sorted(self._all_projection_types)
projection_registry = ProjectionRegistry() projection_registry.register( axes.Axes, PolarAxes, AitoffAxes, HammerAxes, LambertAxes, MollweideAxes)
[docs]def register_projection(cls): projection_registry.register(cls)
[docs]def get_projection_class(projection=None): """ Get a projection class from its name. If *projection* is None, a standard rectilinear projection is returned. """ if projection is None: projection = 'rectilinear' try: return projection_registry.get_projection_class(projection) except KeyError: raise ValueError("Unknown projection %r" % projection)
[docs]@cbook.deprecated("3.1") def process_projection_requirements(figure, *args, **kwargs): return figure._process_projection_requirements(*args, **kwargs)
[docs]def get_projection_names(): """ Get a list of acceptable projection names. """ return projection_registry.get_projection_names()