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, который инициализирует масштабирование на основе первых обработанных данных. -
cmapстрока или
Colormap -
Цветовая карта, используемая для сопоставления нормализованных значений данных с RGBA-цветами.
-
norm
- autoscale()[source]
-
Автоматически масштабирует пределы скалярных значений в объекте norm с использованием текущего массива
- autoscale_None()[source]
-
Автоматически масштабирует пределы скалярных значений в объекте norm с использованием текущего массива, изменяя только пределы, которые равны None
- changed()[source]
-
Вызывайте этот метод всякий раз, когда изменяется mappable, чтобы уведомить всех слушателей сигнала 'changed'.
- 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
Примечания
Если какие-либо цветовые шкалы используют mappable для этой нормализации, установка нормализации mappable сбросит нормализацию, локатор и форматировщики цветовой шкалы на значения по умолчанию.
- to_rgba(x, alpha=None, bytes=False, norm=True)[source]
-
Возвращает массив RGBA, соответствующий x, в нормализованном виде.
В обычном случае x — это одномерная или двумерная последовательность скаляров, и соответствующий
ndarrayмассив значений RGBA будет возвращён на основе нормализации и цветовой карты, установленных для этого ScalarMappable.Существует один специальный случай, для обработки изображений, которые уже представлены в формате RGB или RGBA, например, прочитанных из файла изображения. Если x является
ndarrayс 3 измерениями, а последнее измерение равно 3 или 4, то он будет обрабатываться как массив RGB или RGBA, и никакого преобразования не будет выполняться. Массив может бытьuint8, или может быть представлен числами с плавающей точкой в диапазоне от 0 до 1; в противном случае будет возбуждено исключение ValueError. Любые значения NaN или замаскированные элементы будут установлены в 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.
- Parameters:
-
-
name
Colormapили str или None, по умолчанию: None -
Если
Colormapэкземпляр, он будет возвращен. В противном случае, имя цветовой карты, известной Matplotlib, которая будет пересчитана с помощью lut. Значение по умолчанию, None, означаетrcParams["image.cmap"](по умолчанию:'viridis'). - lutint или None, по умолчанию: None
-
Если name не является экземпляром Colormap и lut не равно None, цветовая карта будет пересчитана, чтобы иметь lut элементов в таблице поиска.
-
name
- Returns:
-
- Colormap
Примечания
Устарело начиная с версии 3.7: Используйте
matplotlib.colormaps[name]илиmatplotlib.colormaps.get_cmap()илиpyplot.get_cmap()вместо этого.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/cm_api.html