matplotlib.cm
Встроенные цветовые карты, утилиты обработки цветовых карт и миксин ScalarMappable.
См. также
Список встроенных цветовых карт.
Создание цветовых карт в Matplotlib для примеров создания цветовых карт.
Выбор цветовых карт в Matplotlib - подробное обсуждение выбора цветовых карт.
Нормализация цветовых карт для получения более подробной информации о нормализации данных.
- classmatplotlib.cm.ColormapRegistry(cmaps)[source]
-
Базовый класс:
collections.abc.MappingКонтейнер цветовых карт, известных Matplotlib по имени.
Экспериментальная
Хотя мы ожидаем, что API будет окончательным, мы формально отмечаем его как экспериментальный для версии 3.5, так как хотим сохранить возможность адаптировать API для версии 3.6, если возникнет необходимость.
Универсальный регистр -
matplotlib.colormaps. Пользователям не нужно создавать экземплярыColormapRegistryсамостоятельно.Доступ к чтению реализован с помощью интерфейса, подобного словарю, сопоставляющего имена с
Colormap:import matplotlib as mpl cmap = mpl.colormaps['viridis']
Возвращаемые
Colormapявляются копиями, поэтому их изменение не повлияет на глобальное определение цветовой карты.Дополнительные цветовые карты можно добавить с помощью
ColormapRegistry.register:mpl.colormaps.register(my_colormap)
- register(cmap, *, name=None, force=False)[source]
-
Регистрация новой цветовой карты.
Имя цветовой карты затем может использоваться в качестве строкового аргумента для любого
cmapпараметра в Matplotlib. Оно также доступно вpyplot.get_cmap.Реестр цветовых карт хранит копию заданной цветовой карты, так что будущие изменения исходного экземпляра цветовой карты не повлияют на зарегистрированную цветовую карту. Представьте себе, что реестр делает моментальный снимок цветовой карты при регистрации.
- Parameters
-
- cmapmatplotlib.colors.Colormap
-
Регистрируемая цветовая карта.
- namestr, optional
-
Имя цветовой карты. Если не указано, используется
cmap.name. - force: bool, default: False
-
Если False, при попытке перезаписи уже зарегистрированного имени возникает исключение ValueError. True позволяет перезаписывать зарегистрированные цветовые карты, кроме встроенных.
- classmatplotlib.cm.ScalarMappable(norm=None, cmap=None)[source]
-
Bases:
objectКласс-миксин для сопоставления скалярных данных с RGBA.
Класс ScalarMappable применяет нормализацию данных перед возвращением RGBA-цветов из заданной цветовой карты.
- Параметры
-
-
norm
matplotlib.colors.Normalize(или подкласс) -
Объект нормализации, который масштабирует данные, обычно в интервал
[0, 1]. Если None, norm по умолчанию устанавливается как объект colors.Normalize, который инициализирует масштабирование на основе первых обработанных данных. -
cmapстрока или
Colormap -
Цветовая карта, используемая для сопоставления нормализованных значений данных с RGBA-цветами.
-
norm
- autoscale()[source]
-
Автоматически масштабирует пределы скалярных значений в объекте norm с использованием текущего массива
- autoscale_None()[source]
-
Автоматически масштабирует пределы скалярных значений в объекте norm с использованием текущего массива, изменяя только пределы, которые равны None
- propertycallbacksSM[source]
- changed()[source]
-
Вызывайте этот метод при изменении mappable, чтобы уведомить всех слушателей сигнала 'changed' callbacksSM.
- colorbar
-
Последняя связанная с этим ScalarMappable цветовая шкала. Может быть None.
- get_alpha()[source]
-
- Возвращает
-
- float
-
Всегда возвращает 1.
- get_array()[source]
-
Возвращает массив значений, которые сопоставляются с цветами.
Базовый класс
ScalarMappableне делает предположений о размерности и форме массива.
- get_clim()[source]
-
Возвращает значения (min, max), которые сопоставляются с пределами цветовой карты.
- get_cmap()[source]
-
Возвращает экземпляр
Colormap.
- propertynorm
- set_array(A)[source]
-
Устанавливает массив значений из массивоподобного A.
- Параметры
-
- Aмассивоподобный объект или None
-
Значения, которые сопоставляются с цветами.
Базовый класс
ScalarMappableне делает предположений о размерности и форме массива значений A.
- set_clim(vmin=None, vmax=None)[source]
-
Устанавливает пределы нормализации для масштабирования изображения.
- Параметры
-
- vmin, vmaxfloat
-
Пределы.
Пределы также можно передать как кортеж (vmin, vmax) в качестве единственного позиционного аргумента.
- set_cmap(cmap)[source]
-
Устанавливает цветовую карту для данных яркости.
- Параметры
-
-
cmap
Colormapили строка или None
-
cmap
- set_norm(norm)[source]
-
Устанавливает экземпляр нормализации.
- Параметры
-
-
norm
Normalizeили None
-
norm
Примечания
Если для этой нормализации используются какие-либо цветовые шкалы, установка norm mappable сбросит norm, locator и formatters цветовой шкалы на значения по умолчанию.
- to_rgba(x, alpha=None, bytes=False, norm=True)[source]
-
Возвращает нормализованный массив rgba, соответствующий значению x.
В обычном случае x — это одномерная или двумерная последовательность скаляров, и соответствующий массив ndarray значений rgba будет возвращён на основе нормализации и цветовой карты, заданной для этого объекта ScalarMappable.
Существует один специальный случай для обработки изображений, которые уже являются rgb или rgba, например, таких, которые были прочитаны из файла изображения. Если x является массивом ndarray с тремя измерениями, и последнее измерение равно 3 или 4, то он будет обрабатываться как массив rgb или rgba, и никакое отображение не будет выполнено. Массив может быть uint8 или иметь тип с плавающей точкой со значениями в диапазоне 0-1; в противном случае будет поднято исключение ValueError. Если это массив с маской, маска будет проигнорирована. Если последнее измерение равно 3, значение аргумента alpha (по умолчанию 1) будет использовано для заполнения прозрачности. Если последнее измерение равно 4, аргумент alpha игнорируется; он не заменяет предварительно существующее значение альфа-канала. Будет поднято исключение ValueError, если третье измерение не равно 3 или 4.
В любом случае, если bytes равно False (по умолчанию), массив rgba будет иметь тип с плавающей точкой в диапазоне 0-1; если он равен True, возвращаемый массив rgba будет иметь тип uint8 в диапазоне от 0 до 255.
Если norm равно False, нормализация входных данных не выполняется, и предполагается, что они находятся в диапазоне (0-1).
- matplotlib.cm.get_cmap(name=None, lut=None)[source]
-
Получить экземпляр цветовой карты, по умолчанию используя значения из rc параметров, если name равно None.
Цветовые карты, добавленные с помощью
register_cmap()имеют приоритет над встроенными цветовыми картами.- Параметры
-
-
name
matplotlib.colors.Colormapили str или None, по умолчанию: None -
Если экземпляр
Colormap, он будет возвращён. В противном случае, имя цветовой карты, известное Matplotlib, которое будет пересэмплировано с помощью lut. Значение по умолчанию, None, означаетrcParams["image.cmap"](по умолчанию:'viridis'). - lutint или None, по умолчанию: None
-
Если name ещё не экземпляр Colormap и lut не равно None, цветовая карта будет пересэмплирована, чтобы иметь lut записей в таблице поиска.
-
name
Примечания
В настоящее время это возвращает глобальный объект цветовой карты, что устарело. В Matplotlib 3.5 вы больше не сможете изменять глобальные цветовые карты на месте.
- matplotlib.cm.register_cmap(name=None, cmap=None, *, override_builtin=False)[source]
-
Добавить цветовую карту в список, распознаваемых
get_cmap().Регистрирует новую цветовую карту, к которой можно получить доступ по имени
LinearSegmentedColormap('swirly', data, lut) register_cmap(cmap=swirly_cmap)- Параметры
-
- namestr, необязательно
-
Имя, которое может быть использовано в
get_cmap()илиrcParams["image.cmap"](по умолчанию:'viridis')Если отсутствует, имя будет
nameатрибутом cmap. - cmapmatplotlib.colors.Colormap
-
Несмотря на то, что это второй аргумент и имеет значение по умолчанию, это обязательный аргумент.
- override_builtinbool
-
Разрешить встроенным цветовым картам быть переопределёнными пользователем.
Пожалуйста, не используйте это, если не уверены, что вам это нужно.
Примечания
Регистрация цветовой карты сохраняет ссылку на объект цветовой карты, который в настоящее время можно изменять и непреднамеренно изменять состояние глобальной цветовой карты. Это поведение устарело, и в Matplotlib 3.5 зарегистрированная цветовая карта будет неизменяемой.
- matplotlib.cm.unregister_cmap(name)[source]
-
Удалить цветовую карту, распознаваемую
get_cmap().Вы не можете удалить встроенные цветовые карты.
Если зарегистрированная цветовая карта с указанным именем отсутствует, то функция вернётся без ошибок; в противном случае, будет поднято исключение, если вы попытаетесь де-зарегистрировать цветовую карту по умолчанию.
Предупреждение
Имена цветовых карт в настоящее время представляют собой общий пространство имён, которое может использоваться несколькими пакетами. Используйте
unregister_cmapтолько в том случае, если вы знаете, что вы регистрировали это имя ранее. В частности, не де-регистрируйте его просто на всякий случай, чтобы очистить имя перед регистрацией новой цветовой карты.- Параметры
-
- namestr
-
Имя цветовой карты, которую нужно де-зарегистрировать.
- Возвращает
-
- ColorMap или None
-
Если цветовая карта была зарегистрирована, возвращает её; в противном случае возвращает
None
- Исключения
-
- ValueError
-
Если вы попытаетесь де-зарегистрировать встроенную цветовую карту по умолчанию.
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/cm_api.html