matplotlib.axes.Axes.pcolormesh
- Axes.pcolormesh(*args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, colorizer=None, shading=None, antialiased=False, data=None, **kwargs)[исходный код]
-
Создаёт псевдоцветное изображение на нерегулярной прямоугольной сетке.
Сигнатура вызова:
pcolormesh([X, Y,] C, /, **kwargs)
X и Y можно использовать для задания углов четырёхугольников.
Аргументы X, Y, C можно передавать только позиционно.
Подсказка
pcolormeshпохож наpcolor. Он работает гораздо быстрее и в большинстве случаев предпочтителен. Подробное обсуждение различий см. в разделе Различия между pcolor() и pcolormesh().- Параметры:
-
- Carray-like
-
Данные сетки. Поддерживаются массивы следующих форм:
- (M, N) или M*N: сетка со скалярными данными. Значения преобразуются в цвета с помощью нормализации и цветовой карты. См. параметры norm, cmap, vmin, vmax.
- (M, N, 3): изображение со значениями RGB (числа с плавающей точкой от 0 до 1 или целые числа от 0 до 255).
- (M, N, 4): изображение со значениями RGBA (числа с плавающей точкой от 0 до 1 или целые числа от 0 до 255), то есть с прозрачностью.
Первые два измерения (M, N) задают строки и столбцы данных сетки.
- X, Yarray-like, необязательный
-
Координаты углов четырёхугольников pcolormesh:
(X[i+1, j], Y[i+1, j]) (X[i+1, j+1], Y[i+1, j+1]) ●╶───╴● │ │ ●╶───╴● (X[i, j], Y[i, j]) (X[i, j+1], Y[i, j+1])Обратите внимание, что индекс столбца соответствует координате x, а индекс строки — координате y. Подробности см. в разделе Примечания ниже.
Если
shading='flat', размеры X и Y должны быть на единицу больше размеров C, а цвет четырёхугольника определяется значением вC[i, j]. Если X, Y и C имеют одинаковые размеры, будет выдано предупреждение, а последняя строка и последний столбец C будут проигнорированы.Если
shading='nearest'или'gouraud', размеры X и Y должны совпадать с размерами C (иначе будет вызвано исключение ValueError). Для'nearest'цветC[i, j]центрирован на(X[i, j], Y[i, j]). Для'gouraud'выполняется плавная интерполяция между углами четырёхугольника.Если X и/или Y — одномерные массивы или векторы-столбцы, они будут при необходимости преобразованы в соответствующие двумерные массивы, образующие прямоугольную сетку.
-
cmapstr или
Colormap, по умолчанию:rcParams["image.cmap"](по умолчанию:'viridis') -
Экземпляр Colormap или имя зарегистрированной цветовой карты, используемой для преобразования скалярных данных в цвета.
-
normstr или
Normalize, необязательный -
Метод нормализации, используемый для масштабирования скалярных данных до диапазона [0, 1] перед преобразованием в цвета с помощью cmap. По умолчанию используется линейное масштабирование: наименьшему значению соответствует 0, а наибольшему — 1.
Если задан, этот параметр может принимать одно из следующих значений:
- Экземпляр
Normalizeили один из его подклассов (см. раздел Нормализация цветовой карты). - Имя шкалы, например "linear", "log", "symlog", "logit" и т. д. Список доступных шкал можно получить вызовом
matplotlib.scale.get_scale_names(). В этом случае подходящий подклассNormalizeдинамически создаётся и инстанцируется.
- Экземпляр
- vmin, vmaxfloat, необязательный
-
При использовании скалярных данных без явно заданного norm параметры vmin и vmax определяют диапазон данных, охватываемый цветовой картой. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Если задан экземпляр norm, использовать vmin/vmax нельзя (однако допустимо использовать имя norm типа
strвместе с vmin/vmax). -
colorizer
Colorizerили None, по умолчанию: None -
Объект Colorizer, используемый для преобразования данных в цвета. Если задано значение None, объект Colorizer создаётся на основе norm и cmap.
- edgecolors{'none', None, 'face', color, color sequence}, необязательный
-
Цвет границ. По умолчанию — 'none'. Возможные значения:
- 'none' или '': без границы.
-
None: будет использовано
rcParams["patch.edgecolor"](по умолчанию:'black'). Обратите внимание, что для работы этого параметра значениеrcParams["patch.force_edgecolor"](по умолчанию:False) должно быть True. - 'face': использовать цвет соседней грани.
- Цвет или последовательность цветов задаёт цвет границы.
Форма единственного числа edgecolor является псевдонимом.
- alphafloat, по умолчанию: None
-
Значение альфа-смешивания от 0 (прозрачный) до 1 (непрозрачный).
- shading{'flat', 'nearest', 'gouraud', 'auto'}, необязательный
-
Стиль заливки четырёхугольника; по умолчанию —
rcParams["pcolor.shading"](по умолчанию:'auto'). Возможные значения:- 'flat': для каждого четырёхугольника используется сплошной цвет. Цвет четырёхугольника (i, j), (i+1, j), (i, j+1), (i+1, j+1) задаётся значением
C[i, j]. Размеры X и Y должны быть на единицу больше размеров C; если они совпадают с размером C, будет выдано предупреждение об устаревании, а последняя строка и последний столбец C будут отброшены. - 'nearest': каждая точка сетки будет иметь цвет, центрированный в этой точке и простирающийся на половину расстояния до соседних центров сетки. Размеры X и Y должны совпадать с размером C.
- 'gouraud': для каждого четырёхугольника применяется затенение Гуро: цвета углов (i', j') задаются значением
C[i', j']. Цвета промежуточных областей интерполируются по значениям в углах. Размеры X и Y должны совпадать с размером C. При затенении Гуро параметр edgecolors игнорируется. - 'auto': выбирает 'flat', если размеры X и Y на единицу больше размера C. Выбирает 'nearest', если размеры совпадают.
Дополнительное описание см. в разделе Сетки pcolormesh и затенение.
- 'flat': для каждого четырёхугольника используется сплошной цвет. Цвет четырёхугольника (i, j), (i+1, j), (i, j+1), (i+1, j+1) задаётся значением
- snapbool, по умолчанию: False
-
Следует ли привязывать сетку к границам пикселей.
- rasterizedbool, необязательный
-
Растеризовать pcolormesh при отрисовке векторной графики. Это может ускорить отрисовку и уменьшить размер файлов для больших наборов данных. См. также раздел Растеризация векторной графики.
- Возвращает:
-
matplotlib.collections.QuadMesh
- Другие параметры:
-
- dataindexable object, необязательный
-
Если задан, все параметры также принимают строку
s, которая интерпретируется какdata[s], еслиsявляется ключом вdata. - **kwargs
-
Кроме того, допускаются следующие аргументы. Они передаются конструктору
QuadMesh:Свойство
Описание
функция фильтра, принимающая массив float формы (m, n, 3) и значение dpi и возвращающая массив формы (m, n, 3) и два смещения от нижнего левого угла изображения
array-like или float или None
bool
antialiasedилиaaилиantialiasedsbool или список значений bool
arrayarray-like
CapStyleили {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
BboxBaseили Nonebool
Patch или (Path, Transform) или None
Colormapили str или Noneцвет или список кортежей RGBA
edgecolorилиecилиedgecolorsfacecolorилиfacecolorsилиfcstr
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
неизвестно
bool
JoinStyleили {'miter', 'round', 'bevel'}object
linestyleилиdashesилиlinestylesилиlsstr или tuple или список таких значений
linewidthилиlinewidthsилиlwfloat или список значений float
bool
Normalizeили str или Nonearray-like формы (N, 2) или (2,)
список объектов
AbstractPathEffectNone или bool или float или вызываемый объект
float
bool
(scale: float, length: float, randomness: float)
bool или None
str
список str или None
bool
float
См. также
pcolor-
Альтернативная реализация с немного отличающимися возможностями. Подробное обсуждение различий см. в разделе Различия между pcolor() и pcolormesh().
imshow-
Если значения X и Y равномерно распределены,
imshowможет быть более быстрой альтернативой.
Примечания
Маскированные массивы
C может быть маскированным массивом. Если значение
C[i, j]замаскировано, соответствующий четырёхугольник будет прозрачным. Маскирование X и Y не поддерживается. Если вам нужна эта возможность, используйтеpcolor.Ориентация сетки
Ориентация сетки соответствует стандартному соглашению для матриц: массив C формы (nrows, ncolumns) отображается так, что номер столбца соответствует X, а номер строки — Y.
Различия между pcolor() и pcolormesh()
Оба метода используются для создания псевдоцветного изображения двумерного массива с помощью четырёхугольников.
Основное различие заключается в создаваемом объекте и внутренней обработке данных:
pcolorвозвращаетPolyQuadMesh, аpcolormeshвозвращаетQuadMesh. Последний специализирован для этой задачи и поэтому работает быстрее. Почти всегда следует предпочитать его.Есть также небольшое различие в обработке маскированных массивов. И
pcolor, иpcolormeshподдерживают маскированные массивы для C. Однако толькоpcolorподдерживает маскированные массивы для X и Y. Причина заключается во внутренней обработке маскированных значений.pcolorисключает соответствующие многоугольники из PolyQuadMesh.pcolormeshзадаёт прозрачный цвет грани для маскированных элементов. Различие можно заметить при использовании edgecolors. В QuadMesh все границы рисуются независимо от маскирования, тогда как граница между двумя соседними маскированными четырёхугольниками вpcolorне рисуется, поскольку соответствующие многоугольники отсутствуют в PolyQuadMesh. PolyQuadMesh рисует каждый многоугольник отдельно, поэтому также поддерживает применение штриховки и стилей линий ко всей коллекции.Ещё одно различие — поддержка затенения Гуро в
pcolormesh, которое недоступно вpcolor.
Примеры использования matplotlib.axes.Axes.pcolormesh
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.pcolormesh.html