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 (числа с плавающей запятой от 0 до 1 или целые числа от 0 до 255).
- (M, N, 4): изображение с значениями RGBA (числа с плавающей запятой от 0 до 1 или целые числа от 0 до 255), т.е. включая прозрачность.
Первые два измерения (M, N) определяют строки и столбцы изображения.
Значения RGB(A) вне диапазона отсекаются.
-
cmapстрока или
Colormap, по умолчанию:rcParams["image.cmap"](по умолчанию:'viridis') -
Экземпляр цветовой карты или зарегистрированное имя цветовой карты, используемое для сопоставления скалярных данных с цветами.
Этот параметр игнорируется, если X является RGB(A).
-
normстрока или
Normalize, необязательно -
Метод нормализации, используемый для масштабирования скалярных данных до диапазона [0, 1] перед отображением в цветах с помощью cmap. По умолчанию используется линейное масштабирование, сопоставляющее наименьшее значение с 0, а наибольшее - с 1.
Если задано, это может быть одним из следующих:
- Экземпляр
Normalizeили один из его подклассов (см. Нормализация цветовых карт). - Имя шкалы, например, "линейное", "логарифмическое", "симлогическое", "логит" и т.д. Список доступных шкал можно получить, вызвав
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. Кроме того, фильтр изменения размера изображения antigrain контролируется параметром filternorm.
- interpolation_stage{'data', 'rgba'}, по умолчанию: 'data'
-
Если 'data', интерполяция выполняется на данных, предоставленных пользователем. Если 'rgba', интерполяция выполняется после применения цветового сопоставления (визуальная интерполяция).
- alphaчисло с плавающей запятой или массив-подобный объект, необязательно
-
Значение альфа-смешивания, от 0 (прозрачный) до 1 (непрозрачный). Если alpha является массивом, значения альфа-смешивания применяются по пикселям, и alpha должен иметь такую же форму, как и X.
-
origin{'верхний', 'нижний'}, по умолчанию:
rcParams["image.origin"](по умолчанию:'upper') -
Поместить индекс [0, 0] массива в верхний левый или нижний левый угол осей. Обычно используется соглашение (по умолчанию) 'верхний' для матриц и изображений.
Обратите внимание, что ось вертикали направлена вверх для 'нижний', но вниз для 'верхний'.
См. origin и extent в imshow учебник для примеров и более подробного описания.
- extentчисла с плавающей запятой (левый, правый, нижний, верхний), необязательно
-
Прямоугольник в координатах данных, который заполнит изображение. Эти значения могут быть именованными и соответствовать единицам осей. Изображение растягивается вдоль x и y для заполнения прямоугольника.
Значение по умолчанию определяется следующими условиями. Пиксели имеют единичный размер в координатах данных. Их центры находятся на целых координатах, и их координаты центра находятся в диапазоне от 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 учебник для примеров и более подробного описания.
- Для
- filternormлогическое значение, по умолчанию: True
-
Параметр для фильтра изменения размера изображения antigrain (см. документацию antigrain). Если 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свойства -
Эти параметры передаются конструктору
AxesImageхудожника.
См. также
matshow-
Отображение матрицы или массива как изображения.
Примечания
Если не используется extent, центры пикселей будут расположены в целочисленных координатах. Другими словами: начало координат будет совпадать с центром пикселя (0, 0).
Существует два распространённых представления RGB-изображений с альфа-каналом:
- Прямой (не связанный) альфа-канал: каналы R, G и B представляют цвет пикселя, не учитывая его непрозрачность.
- Преумноженный (связанный) альфа-канал: каналы R, G и B представляют цвет пикселя, скорректированный на его непрозрачность путём умножения.
imshowожидает RGB-изображения, использующие прямое (не связанное) представление альфа-канала.
Примеры использования matplotlib.axes.Axes.imshow
Смешивание прозрачности с цветом на 2D изображениях
Вложенная область Axes для области масштабирования
Управление положением и размером легенды с помощью вставленных осей
Анимированное изображение с использованием предварительно вычисленного списка изображений
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.imshow.html