matplotlib.pyplot.imshow
- matplotlib.pyplot.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, vmaxfloat, необязательно
-
При использовании скалярных данных и отсутствии явного norm, vmin и vmax определяют диапазон данных, который охватывает цветовая карта. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Использование vmin/vmax при заданном экземпляре norm является ошибкой (но использование имени norm типа
strвместе с vmin/vmax допустимо).Этот параметр игнорируется, если X является RGB(A).
- aspect{'equal', 'auto'} или float или 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', интерполяция выполняется после применения цветового отображения (визуальная интерполяция).
- alphafloat или массив, необязательно
-
Значение альфа-смешивания, от 0 (прозрачный) до 1 (непрозрачный). Если alpha является массивом, значения альфа-смешивания применяются по пикселям, и alpha должен иметь такую же форму, как X.
-
origin{'верхний', 'нижний'}, по умолчанию:
rcParams["image.origin"](по умолчанию:'upper') -
Расположить индекс [0, 0] массива в верхнем левом или нижнем левом углу оси. Конвенция (по умолчанию) 'верхний' обычно используется для матриц и изображений.
Обратите внимание, что вертикальная ось направлена вверх для 'нижний', но вниз для 'верхний'.
См. учебник origin и extent в imshow для примеров и более подробного описания.
- extentfloat (левый, правый, нижний, верхний), необязательно
-
Прямоугольник в координатах данных, который заполнит изображение. Эти значения могут быть с единицами измерения и соответствовать единицам измерения оси. Изображение растягивается по отдельности вдоль x и y для заполнения прямоугольника.
По умолчанию extent определяется следующими условиями. Пиксели имеют единичный размер в координатах данных. Их центры находятся на целочисленных координатах, и их координаты центров варьируются от 0 до columns-1 по горизонтали и от 0 до rows-1 по вертикали.
Обратите внимание, что направление вертикальной оси, а значит и значения по умолчанию для верхнего и нижнего края, зависят от 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 для примеров и более подробного описания.
- Для
- filternormbool, по умолчанию: True
-
Параметр для фильтра изменения размера изображения антигрэйна (см. документацию антигрэйна). Если filternorm задано, фильтр нормализует целочисленные значения и исправляет ошибки округления. Он ничего не делает со значениями исходных чисел с плавающей запятой, он исправляет только целые числа в соответствии с правилом 1.0, что означает, что любая сумма весов пикселей должна быть равна 1.0. Таким образом, функция фильтра должна генерировать график правильной формы.
- filterradfloat > 0, по умолчанию: 4.0
-
Радиус фильтра для фильтров, имеющих параметр радиуса, т.е. когда интерполяция равна 'sinc', 'lanczos' или 'blackman'.
-
resamplebool, по умолчанию:
rcParams["image.resample"](по умолчанию:True) -
Если True, использовать полный метод пересэмплирования. Если False, пересэмплировать только тогда, когда выходное изображение больше входного изображения.
- urlстрока, необязательно
-
Установить url созданного
AxesImage. См.Artist.set_url.
- Возвращает:
-
AxesImage
- Другие параметры:
-
- dataиндексируемый объект, необязательно
-
Если указан, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение). -
**kwargs
Artistсвойства -
Эти параметры передаются конструктору
AxesImageартиста.
См. также
matshow-
Отображение матрицы или массива как изображения.
Примечания
Примечание
Это обёртка pyplot для
axes.Axes.imshow.Если не используется параметр extent, центры пикселей будут располагаться в целых координатах. Другими словами, начало координат будет совпадать с центром пикселя (0, 0).
Существуют два распространённых представления RGB-изображений с альфа-каналом:
- Прямой (не связанный) альфа-канал: каналы R, G и B представляют цвет пикселя, не учитывая его непрозрачность.
- Предумноженный (связанный) альфа-канал: каналы R, G и B представляют цвет пикселя, скорректированный на его непрозрачность путём умножения.
imshowожидает RGB-изображения в представлении с прямым (не связанным) альфа-каналом.
Примеры использования matplotlib.pyplot.imshow
Смешивание прозрачности с цветом на 2D изображениях
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.imshow.html