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 поддерживает встроенные полярные и некоторые географические проекции. Более подробную информацию можно найти на следующих страницах:
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/projections_api.html