matplotlib.cm
Встроенные цветовые карты, утилиты обработки цветовых карт и миксин ScalarMappable.
См. также
Список встроенных цветовых карт для списка встроенных цветовых карт.
Создание цветовых карт в Matplotlib для примеров создания цветовых карт.
Выбор цветовых карт в Matplotlib — подробное обсуждение выбора цветовых карт.
Нормализация цветовых карт для получения более подробной информации о нормализации данных.
- classmatplotlib.cm.ColormapRegistry(cmaps)[source]
-
Базируется на
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.Реестр цветовых карт хранит копию заданной цветовой карты, чтобы будущие изменения исходного экземпляра цветовой карты не повлияли на зарегистрированную цветовую карту. Представьте себе, что реестр делает снимок цветовой карты на момент регистрации.
- Параметры:
-
- 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]. Еслиstr, подклассNormalizeгенерируется динамически на основе масштаба с соответствующим именем. Если None, norm по умолчанию устанавливается как объект colors.Normalize, который инициализирует масштабирование на основе первых обработанных данных. -
cmapstr или
Colormap -
Цветовая карта, используемая для сопоставления нормализованных значений данных с RGBA-цветами.
-
norm
- autoscale()[source]
-
Автоматическое масштабирование пределов скалярных значений в объекте norm с использованием текущего массива
- autoscale_None()[source]
-
Автоматическое масштабирование пределов скалярных значений в объекте norm с использованием текущего массива, изменяя только пределы, которые равны None
- propertycallbacksSM[source]
- changed()[source]
-
Вызовите эту функцию, когда карта значений изменяется, чтобы уведомить все слушатели сигнала 'changed' callbacksSM.
- 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
Примечания
Если существуют какие-либо цветовые шкалы, использующие этот объект 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. Если это массив с маской, маска будет проигнорирована. Если последнее измерение равно 3, аргумент alpha (по умолчанию 1) будет использован для заполнения прозрачности. Если последнее измерение равно 4, аргумент alpha игнорируется; он не заменяет существующий 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
matplotlib.colors.Colormapили str или None, по умолчанию: None -
Если экземпляр
Colormap, он будет возвращён. В противном случае, имя цветовой карты, известное Matplotlib, которое будет пересэмплировано с помощью lut. Значение по умолчанию, None, означаетrcParams["image.cmap"](по умолчанию:'viridis'). - lutint или None, по умолчанию: None
-
Если name ещё не экземпляр Colormap и lut не None, цветовая карта будет пересэмплирована, чтобы иметь lut элементов в таблице поиска.
-
name
- Возвращает:
-
- Colormap
Примечания
Устарело начиная с версии 3.6: Используйте
matplotlib.colormaps[name]вместо этого.
- 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.6: Используйте
matplotlib.colormaps.register(name)вместо этого.
- matplotlib.cm.unregister_cmap(name)[source]
-
[Устаревшее] Удаление цветовой карты, распознаваемой
get_cmap().Вы не можете удалить встроенные цветовые карты.
Если зарегистрированной цветовой карты с указанным именем нет, выполняется возврат без ошибок, вызов исключения, если вы попытаетесь удалить по умолчанию цветовую карту.
Предупреждение
Имена цветовых карт в настоящее время являются общим именным пространством, которое может использоваться несколькими пакетами. Используйте
unregister_cmapтолько если вы знаете, что вы зарегистрировали это имя предварительно. В частности, не отменяйте регистрацию только на всякий случай, чтобы очистить имя перед регистрацией новой цветовой карты.- Параметры:
-
- namestr
-
Имя цветовой карты, которая должна быть удалена
- Возвращает:
-
- ColorMap или None
-
Если цветовая карта была зарегистрирована, вернуть её; иначе вернуть
None
- Исключения:
-
- ValueError
-
Если вы попытаетесь удалить по умолчанию встроенную цветовую карту.
Примечания
Устарело начиная с версии 3.6: Используйте
matplotlib.colormaps.unregister(name)вместо этого.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/cm_api.html