matplotlib.axes.Axes.pcolormesh
- Axes.pcolormesh(*args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, shading=None, antialiased=False, data=None, **kwargs)[source]
-
Создаёт псевдоцветной график с нерегулярной прямоугольной сеткой.
Вызов:
pcolormesh([X, Y,] C, **kwargs)
X и Y могут быть использованы для задания углов четырёхугольников.
Подсказка
pcolormeshпохож наpcolor. Он гораздо быстрее и предпочтительнее в большинстве случаев. Подробное обсуждение различий см. в Различия между pcolor() и pcolormesh().- Параметры:
-
- Carray-like
-
Данные сетки. Поддерживаемые формы массивов:
- (M, N) или M*N: сетка со скалярными данными. Значения отображаются в цвета с помощью нормализации и цветовой карты. См. параметры norm, cmap, vmin, vmax.
- (M, N, 3): изображение с RGB значениями (0-1 float или 0-255 int).
- (M, N, 4): изображение с RGBA значениями (0-1 float или 0-255 int), т.е. включая прозрачность.
Первые два измерения (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.
- Экземпляр
- Возвращаемое значение:
-
matplotlib.collections.QuadMesh
-
- данныеиндексируемый объект, необязательно
-
Если задано, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключения). - **kwargs
-
Кроме того, разрешены следующие аргументы. Они передаются в конструктор
QuadMesh:Свойство
Описание
функция фильтрации, которая принимает массив с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения
массивоподобный объект или скаляр или None
bool
antialiasedили aa или antialiasedsbool или список bool
arrayмассивоподобный объект
CapStyleили {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
BboxBaseили Nonebool
Patch или (Path, Transform) или None
Colormapили строка или Noneцвет или список кортежей RGBA
edgecolorили ec или edgecolorsцвет или список цветов или 'face'
facecolorили facecolors или fcцвет или список цветов
строка
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили штрихи или linestyles или lsстрока или кортеж или список из них
linewidthили linewidths или lwfloat или список float
bool
Normalizeили строка или Noneoffset_transformили transOffset(N, 2) или (2,) массивоподобный объект
список
AbstractPathEffectNone или bool или float или вызываемая функция
float
bool
(scale: float, length: float, randomness: float)
bool или None
строка
список строк или 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–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.pcolormesh.html