matplotlib.cm
Встроенные цветовые карты, утилиты для работы с цветовыми картами и миксин ScalarMappable.
См. также
Список встроенных цветовых карт для получения списка встроенных цветовых карт.
Создание цветовых карт в Matplotlib для примеров создания цветовых карт.
Выбор цветовых карт в Matplotlib для детального обсуждения выбора цветовых карт.
Нормализация цветовых карт для получения дополнительной информации о нормализации данных.
- classmatplotlib.cm.ColormapRegistry(cmaps)[source]
-
Базируется на
MappingКонтейнер для цветовых карт, известных Matplotlib по имени.
Универсальный экземпляр реестра —
matplotlib.colormaps. Пользователям не нужно создавать экземплярыColormapRegistryсамостоятельно.Чтение использует интерфейс словаря, сопоставляющий имена с
Colormap:import matplotlib as mpl cmap = mpl.colormaps['viridis']
Возвращаемые
Colormapявляются копиями, поэтому их изменение не повлияет на глобальное определение цветовой карты.Дополнительные цветовые карты можно добавить с помощью
ColormapRegistry.register:mpl.colormaps.register(my_colormap)
Чтобы получить список всех зарегистрированных цветовых карт, можно сделать следующее:
from matplotlib import colormaps list(colormaps)
- get_cmap(cmap)[source]
-
Возвращает цветовую карту, заданную через cmap.
- Параметры:
-
-
cmapstr или
Colormapили None -
- если
Colormap, вернуть её - если строка, найти её в
mpl.colormaps - если None, вернуть цветовую карту, определённую в
rcParams["image.cmap"](по умолчанию:'viridis')
- если
-
cmapstr или
- Возвращает:
-
- Цветовая карта
- register(cmap, *, name=None, force=False)[source]
-
Регистрирует новую цветовую карту.
Имя цветовой карты затем может быть использовано в качестве строкового аргумента для любого параметра
cmapв Matplotlib. Оно также доступно вpyplot.get_cmap.Реестр цветовых карт хранит копию данной цветовой карты, чтобы будущие изменения исходного экземпляра цветовой карты не повлияли на зарегистрированную цветовую карту. Подумайте об этом как о том, что реестр делает снимок цветовой карты при регистрации.
- Параметры:
-
- cmapmatplotlib.colors.Colormap
-
Регистрируемая цветовая карта.
- namestr, необязательно
-
Имя цветовой карты. Если не указано, используется
cmap.name. - forcebool, по умолчанию: False
-
Если False, при попытке перезаписи уже зарегистрированного имени возникает ошибка ValueError. True позволяет перезаписывать зарегистрированные цветовые карты, отличные от встроенных.
- unregister(name)[source]
-
Удаляет цветовую карту из реестра.
Встроенные цветовые карты удалить нельзя.
Если цветовой карты с указанным именем нет в реестре, метод возвращается без ошибок. Возникает ошибка, если вы пытаетесь удалить стандартную цветовую карту.
Предупреждение
Имена цветовых карт в настоящее время являются общим пространством имён, которое может использоваться несколькими пакетами. Используйте
unregisterтолько если вы знаете, что вы зарегистрировали это имя ранее. В частности, не удаляйте имена просто на случай, чтобы очистить имя перед регистрацией новой цветовой карты.- Параметры:
-
- namestr
-
Имя цветовой карты, которую нужно удалить.
- Исключения:
-
- ValueError
-
Если вы пытаетесь удалить встроенную стандартную цветовую карту.
- classmatplotlib.cm.ScalarMappable(norm=None, cmap=None)[source]
-
Bases:
objectКласс-миксин для отображения скалярных данных в RGBA.
Класс
ScalarMappableприменяет нормализацию данных перед возвращением цветов RGBA из заданной цветовой карты.- Параметры:
-
-
norm
Normalize(или подкласс) или str или None -
Объект нормализации, масштабирующий данные, обычно в интервал
[0, 1]. Если строка, генерируется подклассNormalizeна основе масштаба с соответствующим именем. Если None, norm по умолчанию — объект colors.Normalize, который инициализирует масштабирование на основе первых обработанных данных. -
cmapstr или
Colormap -
Цветовая карта, используемая для сопоставления нормализованных значений данных с цветами RGBA.
-
norm
- autoscale()[source]
-
Автоматически масштабировать пределы скалярных значений в экземпляре
norm, используя текущий массив.
- autoscale_None()[source]
-
Автоматически масштабировать пределы скалярных значений в экземпляре
norm, используя текущий массив, изменяя только пределы, равныеNone.
- changed()[source]
-
Вызывать при изменении отображаемого объекта, чтобы уведомить все слушатели сигнала 'changed'.
- colorbar
-
Последняя цветовая шкала, связанная с этим объектом
ScalarMappable. Может бытьNone.
- get_alpha()[source]
-
- Возвращает:
-
- float
-
Всегда возвращает 1.
- get_array()[source]
-
Возвращает массив значений, сопоставленных с цветами.
Базовый класс
ScalarMappableне делает предположений о размерности и форме массива.
- get_clim()[source]
-
Возвращает значения (мин, макс), сопоставленные с пределами цветовой карты.
- 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или str или None
-
cmap
- set_norm(norm)[source]
-
Установить экземпляр нормализации.
- Параметры:
-
-
norm
Normalizeили str или None
-
norm
Примечания
Если какие-либо цветовые шкалы используют данный отображаемый объект для этой нормализации, установка нормализации отображаемого объекта сбросит нормализацию, локатор и форматировщики цветовой шкалы по умолчанию.
- 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. Если это массив с пропускаемыми значениями, любые пропускаемые элементы будут установлены в 0 альфа. Если последнее измерение равно 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.
- Параметры:
-
-
name
Colormapили str или None, по умолчанию: None -
Если экземпляр
Colormap, он будет возвращен. В противном случае, имя цветовой карты, известное Matplotlib, которое будет пересчитано с помощью lut. По умолчанию, None, означаетrcParams["image.cmap"](по умолчанию:'viridis'). - lutint или None, по умолчанию: None
-
Если name не является экземпляром Colormap и lut не равно None, цветовая карта будет пересчитана, чтобы иметь lut элементов в таблице поиска.
-
name
- Возвращает:
-
- Colormap
Замечания
Устарело начиная с версии 3.7: Используйте
matplotlib.colormaps[name]илиmatplotlib.colormaps.get_cmap(obj)вместо этого.
- 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
-
Разрешить переопределение встроенных цветовых карт пользователем.
Не используйте это, если вы не уверены, что вам это нужно.
Замечания
Устарело начиная с версии 3.7: Используйте
matplotlib.colormaps.register(name)вместо этого.
- matplotlib.cm.unregister_cmap(name)[source]
-
[Устаревший] Удаляет цветовую карту, распознаваемую
get_cmap().Вы не можете удалить встроенные цветовые карты.
Если цветовая карта с данным именем не зарегистрирована, возвращается без ошибки; возбуждается исключение, если вы пытаетесь отменить регистрацию стандартной цветовой карты.
Предупреждение
Имена цветовых карт в настоящее время являются общим пространством имен, которое может использоваться несколькими пакетами. Используйте
unregister_cmapтолько если вы знаете, что вы ранее зарегистрировали это имя. В частности, не отменяйте регистрацию просто на всякий случай, чтобы очистить имя перед регистрацией новой цветовой карты.- Параметры:
-
- namestr
-
Имя цветовой карты, которую нужно удалить
- Возвращает:
-
- ColorMap или None
-
Если цветовая карта была зарегистрирована, возвращает её; иначе возвращает
None
- Возбуждает:
-
- ValueError
-
Если вы пытаетесь отменить регистрацию стандартной встроенной цветовой карты.
Замечания
Устарело начиная с версии 3.7: Используйте
matplotlib.colormaps.unregister(name)вместо этого.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/cm_api.html