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, *, 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').Параметры: -
Xarray-like or PIL image -
Данные изображения. Поддерживаемые формы массивов:
- (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) вне диапазона обрезаются.
-
cmapstr or Colormap, default: rcParams["image.cmap"] (default: 'viridis') -
Экземпляр Colormap или зарегистрированное имя цветовой карты, используемое для отображения скалярных данных в цвета. Этот параметр игнорируется для данных RGB(A).
-
normNormalize, optional -
Экземпляр
Normalize, используемый для масштабирования скалярных данных в диапазон [0, 1] перед отображением в цвета с помощью cmap. По умолчанию используется линейное масштабирование, отображающее наименьшее значение в 0, а наибольшее в 1. Этот параметр игнорируется для данных RGB(A). -
aspect{'equal', 'auto'} or float, default: rcParams["image.aspect"] (default: 'equal') -
Соотношение сторон оси. Этот параметр особенно важен для изображений, так как определяет, являются ли пиксели данных квадратными.
Этот параметр является сокращением для явного вызова
Axes.set_aspect. См. там подробности.- 'equal': Обеспечивает соотношение сторон 1. Пиксели будут квадратными (если размеры пикселей не явно сделаны неквадратными в координатах данных с помощью extent).
- 'auto': Ось остаётся фиксированной, и соотношение сторон подстраивается так, чтобы данные умещались в осях. Как правило, это приведёт к неквадратным пикселям.
-
interpolationstr, default: rcParams["image.interpolation"] (default: 'antialiased') -
Метод интерполяции.
Поддерживаемые значения: 'none', 'antialiased', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos'.
Если interpolation равен 'none', то интерполяция не выполняется на бэкендах Agg, ps, pdf и svg. Другие бэкэнды перейдут к 'nearest'. Обратите внимание, что большинство рендереров SVG выполняют интерполяцию при рендеринге, и метод интерполяции, который они реализуют по умолчанию, может отличаться.
Если interpolation равен по умолчанию 'antialiased', то используется интерполяция 'nearest', если изображение масштабируется более чем в три раза (т.е. количество пикселей отображения по крайней мере в три раза больше размера массива данных). Если коэффициент масштабирования меньше 3 или изображение масштабируется, то используется интерполяция 'hanning' для реализации антиалиасинга, если изображение случайно масштабируется ровно в два или один раз.
См. Методы интерполяции для imshow для обзора поддерживаемых методов интерполяции и Антиалиасинг изображений для обсуждения антиалиасинга изображений.
Некоторые методы интерполяции требуют дополнительного параметра радиуса, который может быть задан с помощью filterrad. Кроме того, фильтр изменения размера изображения антигрейта контролируется параметром filternorm.
-
alphafloat or array-like, optional -
Значение альфа-смешивания, от 0 (прозрачный) до 1 (непрозрачный). Если alpha — массив, значения альфа-смешивания применяются к каждому пикселю, и alpha должен иметь ту же форму, что и X.
-
vmin, vmaxfloat, optional -
При использовании скалярных данных и отсутствии явных norm, vmin и vmax, vmin и vmax определяют диапазон данных, который покрывает цветовая карта. По умолчанию цветовая карта покрывает весь диапазон значений предоставленных данных. Использование vmin/vmax при заданном norm устарело.
-
origin{'upper', 'lower'}, default: rcParams["image.origin"] (default: 'upper') -
Разместить индекс [0, 0] массива в верхнем левом или нижнем левом углу оси. Обычно используется конвенция (по умолчанию) 'upper' для матриц и изображений.
Обратите внимание, что вертикальная ось направлена вверх для 'lower', но вниз для 'upper'.
См. учебник origin and extent in imshow для примеров и более подробного описания.
-
extentfloats (left, right, bottom, top), optional -
Прямоугольник в координатах данных, который будет заполнять изображение. Изображение масштабируется по отдельности по 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 and extent in imshow для примеров и более подробного описания.
- Для
-
filternormbool, default: True -
Параметр для фильтра изменения размера изображения антигрейта (см. документацию антигрейта). Если filternorm задан, фильтр нормализует целочисленные значения и исправляет ошибки округления. Он не выполняет никаких действий со значениями чисел с плавающей точкой, он исправляет только целые числа в соответствии с правилом 1.0, что означает, что любая сумма весов пикселей должна быть равна 1.0. Таким образом, функция фильтра должна создавать график нужной формы.
-
filterradfloat > 0, default: 4.0 -
Радиус фильтра для фильтров, имеющих параметр радиуса, т.е. когда интерполяция — одна из: 'sinc', 'lanczos' или 'blackman'.
-
resamplebool, default: rcParams["image.resample"] (default: True) -
Если True, использовать полный метод передискретизации. Если False, передискретизировать только тогда, когда выходное изображение больше входного изображения.
-
urlstr, optional -
Устанавливает URL созданного
AxesImage. См.Artist.set_url.
Возвращает: Другие параметры: -
**kwargsArtist properties -
Эти параметры передаются в конструктор объекта
AxesImage.
См. также
-
matshow - Отображение матрицы или массива как изображения.
Примечания
Если не используется extent, центры пикселей будут расположены в целых координатах. Другими словами: начало координат совпадёт с центром пикселя (0, 0).
Существует два распространённых представления RGB-изображений с альфа-каналом:
- Прямой (неассоциированный) альфа-канал: каналы R, G и B представляют цвет пикселя, не учитывая его непрозрачность.
- Преумноженный (ассоциированный) альфа-канал: каналы R, G и B представляют цвет пикселя, скорректированный на его непрозрачность умножением.
imshowожидает RGB-изображения, использующие прямое (неассоциированное) представление альфа-канала.Примечание
В дополнение к вышеописанным аргументам, эта функция может принимать аргумент data. Если такой аргумент data задан, каждый другой аргумент может также быть строкой
s, которая интерпретируется какdata[s](если это не вызывает исключения).Объекты, переданные как data, должны поддерживать доступ к элементам (
data[s]) и проверку принадлежности (s in data). -
Примеры использования matplotlib.pyplot.imshow
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.imshow.html