Spec-Zone.ru › Matplotlib

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 поддерживает полярные и некоторые географические проекции. Дополнительные сведения см. на следующих страницах:

  • matplotlib.projections.polar
  • matplotlib.projections.geo

© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/projections_api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API