Spec-Zone.ru › Matplotlib 3.8

matplotlib.projections

Неразделимые преобразования, отображающие пространство данных в пространство экрана.

Проекции определяются как подклассы Axes. Они включают следующие элементы:

  • Преобразование из координат данных в координаты отображения.
  • Обратное преобразование. Оно используется, например, для преобразования координат мыши из пространства экрана в пространство данных.
  • Преобразования для линий сетки, делений и меток делений. При настройке пользовательских проекций часто требуется размещать эти элементы в специальных местах, и Matplotlib предоставляет средства для этого.
  • Установление значения по умолчанию (переопределение cla), так как значения по умолчанию для прямолинейных осей могут быть неподходящими.
  • Определение формы осей, например, эллиптических осей, которые будут использоваться для рисования фона графика и обрезки элементов данных.
  • Определение пользовательских локейторов и форматеров для проекции. Например, в географической проекции может быть удобнее отображать сетку в градусах, даже если данные представлены в радианах.
  • Настройка интерактивного перемещения и масштабирования. Это оставлено как "расширенная" функция для самостоятельного изучения, но есть пример такого функционала для полярных графиков в matplotlib.projections.polar.
  • Дополнительные методы для дополнительного удобства или функций.

После определения оси проекции её можно использовать двумя способами:

  • Определив атрибут класса name, ось проекции можно зарегистрировать с помощью matplotlib.projections.register_projection и впоследствии просто вызвать по имени:

    fig.add_subplot(projection="my_proj_name")
    
  • Для более сложных параметризуемых проекций можно определить объект "проекции", включающий метод _as_mpl_axes. _as_mpl_axes не должен принимать аргументов и возвращать подкласс осей проекции и словарь дополнительных аргументов для передачи в метод __init__ подкласса. Впоследствии параметризованную проекцию можно инициализировать:

    fig.add_subplot(projection=MyProjection(param1=param1_value))
    

    где MyProjection — объект, реализующий метод _as_mpl_axes.

Полный и подробно аннотированный пример находится в Пользовательская проекция. Функциональность полярного графика в matplotlib.projections.polar также может быть интересна.

classmatplotlib.projections.ProjectionRegistry[source]

Bases: object

Сопоставление зарегистрированных имён проекций с классами проекций.

get_projection_class(name)[source]

Получить класс проекции по её имени.

get_projection_names()[source]

Возвращает имена всех текущих зарегистрированных проекций.

register(*projections)[source]

Зарегистрировать новый набор проекций.

matplotlib.projections.get_projection_class(projection=None)[source]

Получить класс проекции по её имени.

Если projection равно None, возвращается стандартная прямолинейная проекция.

matplotlib.projections.get_projection_names()[source]

Возвращает имена всех текущих зарегистрированных проекций.

matplotlib.projections.register_projection(cls)[source]

Встроенные проекции

Matplotlib поддерживает встроенные полярные и некоторые географические проекции. Смотрите следующие страницы для получения дополнительной информации:

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

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

Spec-Zone.ru

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