matplotlib.axes.Axes.imshow
- Axes.imshow(X, cmap=None, norm=None, *, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, interpolation_stage=None, filternorm=True, filterrad=4.0, resample=None, url=None, data=None, **kwargs)[source]
-
Отображение данных в виде изображения, т.е. на 2D регулярной растровой сетке.
Входные данные могут быть фактическими данными RGB(A) или 2D скалярными данными, которые будут отображаться как псевдоцветное изображение. Для отображения градации серого настройте цветовое отображение с помощью параметров
cmap='gray', vmin=0, vmax=255.Количество пикселей, используемых для отрисовки изображения, задаётся размерами оси и разрешением фигуры dpi. Это может привести к артефактам искажения при повторной выборке изображения, потому что отображаемый размер изображения, как правило, не соответствует размеру X (см. Противодействие алиасингу изображения). Повторная выборка может управляться параметром interpolation и/или
rcParams["image.interpolation"](по умолчанию'antialiased').
- Параметры:
-
- Xмассив или изображение PIL
-
Данные изображения. Поддерживаемые формы массива:
- (M, N): изображение со скалярными данными. Значения отображаются в цветах с помощью нормализации и цветовой карты. См. параметры norm, cmap, vmin, vmax.
- (M, N, 3): изображение с RGB-значениями (float от 0 до 1 или int от 0 до 255).
- (M, N, 4): изображение с RGBA-значениями (float от 0 до 1 или int от 0 до 255), включая прозрачность.
Первые два измерения (M, N) определяют строки и столбцы изображения.
Значения RGB(A) вне диапазона обрезаются.
-
cmapстрока или
Colormap, по умолчанию:rcParams["image.cmap"](по умолчанию:'viridis') -
Объект Colormap или зарегистрированное имя цветовой карты, используемое для сопоставления скалярных данных с цветами.
Этот параметр игнорируется, если X — RGB(A).
-
normстрока или
Normalize, необязательно -
Метод нормализации, используемый для масштабирования скалярных данных в диапазон [0, 1] перед отображением в цветах с помощью cmap. По умолчанию используется линейное масштабирование, сопоставляющее наименьшее значение с 0, а наибольшее — с 1.
Если задано, может быть одним из следующих:
- Объект
Normalizeили один из его подклассов (см. Нормализация цветовых карт). - Имя шкалы, например, "linear", "log", "symlog", "logit" и т. д. Список доступных шкал можно получить, вызвав
matplotlib.scale.get_scale_names(). В этом случае динамически генерируется и создаётся соответствующий подклассNormalize.
Этот параметр игнорируется, если X — RGB(A).
- Объект
- vmin, vmaxчисло, необязательно
-
При использовании скалярных данных и отсутствии явного norm, vmin и vmax определяют диапазон данных, который охватывает цветовая карта. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Использование vmin/vmax при заданном объекте norm является ошибкой (но использование имени norm
strвместе с vmin/vmax допустимо).Этот параметр игнорируется, если X — RGB(A).
- aspect{'equal', 'auto'} или число или None, по умолчанию: None
-
Соотношение сторон оси. Этот параметр особенно важен для изображений, так как он определяет, являются ли пиксели квадратными.
Этот параметр является сокращением для явного вызова
Axes.set_aspect. Подробнее см. там.- 'equal': Обеспечивает соотношение сторон 1. Пиксели будут квадратными (если размеры пикселей явно не сделаны неквадратными в координатах данных с помощью extent).
- 'auto': Ось остается фиксированной, а соотношение сторон корректируется таким образом, чтобы данные поместились на оси. Как правило, это приведет к неквадратным пикселям.
Обычно None (по умолчанию) означает использование
rcParams["image.aspect"](по умолчанию:'equal'). Однако, если изображение использует преобразование, не содержащее преобразование данных оси, то None означает, что трансформация соотношения сторон оси не будет изменяться (в этом случае вызовитеAxes.set_aspectпо желанию). -
interpolationстрока, по умолчанию:
rcParams["image.interpolation"](по умолчанию:'antialiased') -
Метод интерполяции.
Поддерживаемые значения: 'none', 'antialiased', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos', 'blackman'.
Данные X пересчитываются до размера пикселей изображения на холсте рисунка с использованием метода интерполяции для масштабирования данных вверх или вниз.
Если interpolation — 'none', то для бэкэндов ps, pdf и svg пересчета вверх или вниз не происходит, и данные изображения передаются бэкэнду в виде родного изображения. Обратите внимание, что разные просмотрщики ps, pdf и svg могут отображать эти исходные пиксели по-разному. В других бэкэндах 'none' эквивалентно 'nearest'.
Если interpolation — по умолчанию 'antialiased', то используется интерполяция 'nearest', если изображение масштабируется более чем в три раза (т. е. количество пикселей отображения по меньшей мере в три раза больше размера массива данных). Если скорость масштабирования меньше 3 или изображение масштабируется, то используется интерполяция 'hanning' как фильтр антиалиасинга, если масштабирование изображения не происходит в два или один раз.
См. Методы интерполяции для imshow для обзора поддерживаемых методов интерполяции и Антиалиасинг изображений для обсуждения антиалиасинга изображений.
Некоторые методы интерполяции требуют дополнительного параметра радиуса, который можно задать с помощью filterrad. Кроме того, фильтр изменения размера изображений антигрейда контролируется параметром filternorm.
- interpolation_stage{'data', 'rgba'}, по умолчанию: 'data'
-
Если 'data', интерполяция выполняется по предоставленным пользователем данным. Если 'rgba', интерполяция выполняется после применения цветового отображения (визуальная интерполяция).
- alphaчисло или массив, необязательно
-
Значение прозрачности, от 0 (прозрачный) до 1 (непрозрачный). Если alpha — массив, значения прозрачности применяются по пикселю, и alpha должен иметь такую же форму, как и X.
-
origin{'upper', 'lower'}, по умолчанию:
rcParams["image.origin"](по умолчанию:'upper') -
Расположить индекс [0, 0] массива в верхнем левом или нижнем левом углу оси. Конвенция (по умолчанию) 'upper' обычно используется для матриц и изображений.
Обратите внимание, что вертикальная ось направлена вверх для 'lower', но вниз для 'upper'.
См. учебник origin и extent в imshow для примеров и более подробного описания.
- extentчисла (left, right, bottom, top), необязательно
-
Прямоугольник в координатах данных, который заполнит изображение. Эти значения могут быть размерными и соответствовать единицам оси. Изображение растягивается по отдельности по x и y, чтобы заполнить прямоугольник.
Значение по умолчанию определяется следующими условиями. Пиксели имеют единичный размер в координатах данных. Их центры находятся в целых координатах, а их координаты центра изменяются от 0 до columns-1 по горизонтали и от 0 до rows-1 по вертикали.
Обратите внимание, что направление вертикальной оси, а следовательно, и значения по умолчанию для top и bottom зависят от origin:
- Для
origin == 'upper'значение по умолчанию —(-0.5, numcols-0.5, numrows-0.5, -0.5). - Для
origin == 'lower'значение по умолчанию —(-0.5, numcols-0.5, -0.5, numrows-0.5).
См. учебник origin и extent в imshow для примеров и более подробного описания.
- Для
- filternormбулево, по умолчанию: True
-
Параметр для фильтра изменения размера изображений антигрейда (см. документацию антигрейда). Если filternorm задан, фильтр нормализует целочисленные значения и исправляет ошибки округления. Он ничего не делает со значениями исходных чисел с плавающей запятой, он исправляет только целые числа в соответствии с правилом 1.0, что означает, что любая сумма весов пикселей должна быть равна 1.0. Таким образом, функция фильтра должна создавать график правильной формы.
- filterradчисло > 0, по умолчанию: 4.0
-
Радиус фильтра для фильтров, имеющих параметр радиуса, то есть, когда интерполяция — 'sinc', 'lanczos' или 'blackman'.
-
resampleбулево, по умолчанию:
rcParams["image.resample"](по умолчанию:True) -
Если True, использовать метод полного пересчета. Если False, пересчитывать только тогда, когда выходное изображение больше входного изображения.
- urlстрока, необязательно
-
Установить url созданного
AxesImage. См.Artist.set_url.
- Возвращает:
-
AxesImage
- Другие параметры:
-
- dataиндексируемый объект, необязательно
-
Если задан, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение). -
**kwargs
Artistсвойства -
Эти параметры передаются в конструктор объекта
AxesImageartist.
См. также
matshow-
Отображение матрицы или массива как изображения.
Примечания
Если не используется extent, центры пикселей будут расположены в целых координатах. Другими словами: начало координат будет совпадать с центром пикселя (0, 0).
Существует два распространённых представления RGB-изображений с альфа-каналом:
- Прямой (не связанный) альфа: каналы R, G и B представляют цвет пикселя, не учитывая его непрозрачность.
- Преумноженный (связанный) альфа: каналы R, G и B представляют цвет пикселя, скорректированный с учётом его непрозрачности путём умножения.
imshowожидает RGB-изображения, использующие прямое (не связанное) представление альфа-канала.
Примеры использования matplotlib.axes.Axes.imshow
Смешивание прозрачности с цветом на 2D изображениях
Область масштабирования вставной области построения
Управление положением и размером цветовых шкал с вставленными осями
Оттенённое и нормализованное по мощности отображение
Анимированное изображение с предварительно вычисленным списком изображений
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/_as_gen/matplotlib.axes.Axes.imshow.html