matplotlib.projections
Несепарабельные преобразования, переводящие координаты из пространства данных в пространство экрана.
Проекции определяются как подклассы Axes. Они включают следующие элементы:
- Преобразование координат данных в координаты отображения.
- Обратное преобразование. Оно используется, например, для перевода положения курсора мыши из пространства экрана обратно в пространство данных.
- Преобразования для линий сетки, делений и подписей делений. Для пользовательских проекций часто требуется размещать эти элементы в специальных местах, и Matplotlib предоставляет средства, помогающие это сделать.
- Настройка значений по умолчанию (переопределение
cla), поскольку значения по умолчанию для прямолинейных Axes могут быть неподходящими. - Определение формы Axes, например эллиптической, которая будет использоваться для отрисовки фона графика и отсечения элементов данных.
- Определение пользовательских локаторов и форматтеров для проекции. Например, в географической проекции может быть удобнее отображать сетку в градусах, даже если данные заданы в радианах.
- Настройка интерактивного панорамирования и масштабирования. Эта «расширенная» возможность оставлена читателю, однако пример её использования для полярных графиков приведён в
matplotlib.projections.polar. - Любые дополнительные методы для удобства или расширения функциональности.
Определённую проекцию Axes можно использовать одним из двух способов:
-
Определив атрибут класса
name, проекцию Axes можно зарегистрировать с помощьюmatplotlib.projections.register_projectionи затем просто вызвать по имени:fig.add_subplot(projection="my_proj_name")
-
Для более сложных проекций с параметрами можно определить универсальный объект «проекция», включающий метод
_as_mpl_axes._as_mpl_axesдолжен принимать аргументы и возвращать подкласс Axes для проекции и словарь дополнительных аргументов, передаваемых методу__init__этого подкласса. После этого проекцию с параметрами можно инициализировать следующим образом:fig.add_subplot(projection=MyProjection(param1=param1_value))
где MyProjection — объект, реализующий метод
_as_mpl_axes.
Полноценный пример с подробными комментариями приведён в разделе Пользовательская проекция. Также может быть интересна функциональность полярных графиков в matplotlib.projections.polar.
- classmatplotlib.projections.ProjectionRegistry[исходный код]
-
Базовые классы:
objectСоответствие зарегистрированных имён проекций классам проекций.
- get_projection_class(name)[исходный код]
-
Получить класс проекции по её имени.
- get_projection_names()[исходный код]
-
Вернуть имена всех зарегистрированных на данный момент проекций.
- register(*projections)[исходный код]
-
Зарегистрировать новый набор проекций.
- matplotlib.projections.get_projection_class(projection=None)[исходный код]
-
Получить класс проекции по её имени.
Если projection равен None, возвращается стандартная прямолинейная проекция.
- matplotlib.projections.get_projection_names()[исходный код]
-
Вернуть имена всех зарегистрированных на данный момент проекций.
- matplotlib.projections.register_projection(cls)[исходный код]
Встроенные проекции
Matplotlib поддерживает полярные и некоторые географические проекции. Дополнительные сведения см. на следующих страницах:
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/projections_api.html