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.
- Объект
- vmin, vmaxfloat, необязательно
-
При использовании скалярных данных и отсутствии явного norm, vmin и vmax определяют диапазон данных, который покрывает цветовая карта. По умолчанию цветовая карта покрывает весь диапазон значений предоставленных данных. Использование vmin/vmax при указании объекта norm является ошибкой (но использование имени norm типа
strвместе с vmin/vmax допустимо).
-
- dataиндексируемый объект, необязательно
-
Если задано, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение). - **kwargs
-
Кроме того, разрешены следующие аргументы. Они передаются в конструктор
QuadMesh:Свойство
Описание
функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив чисел с плавающей точкой (m, n, 3) и два смещения от нижнего левого угла изображения
массивоподобный объект или скаляр или None
булево значение
antialiasedили aa или antialiasedsбулево значение или список булевых значений
массивоподобный объект
CapStyleили {'butt', 'projecting', 'round'}(vmin: число с плавающей точкой, vmax: число с плавающей точкой)
булево значение
Объект Patch или (объект Path, преобразование) или None
Colormapили строка или Noneцвет или список кортежей RGBA
edgecolorили ec или edgecolorsцвет или список цветов или 'face'
facecolorили facecolors или fcцвет или список цветов
строка
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
булево значение
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили dashes или linestyles или lsстрока или кортеж или список таковых
linewidthили linewidths или lwчисло с плавающей точкой или список чисел с плавающей точкой
булево значение
Normalizeили строка или Noneoffset_transformили transOffsetнеизвестно
(N, 2) или (2,) массивоподобный объект
None или булево значение или число с плавающей точкой или вызываемый объект
неизвестно
булево значение
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
булево значение или None
строка
список строк или None
булево значение
число с плавающей точкой
-
См. также
pcolor-
Альтернативная реализация с немного отличающимися функциями. Подробное обсуждение различий можно найти в Различиях между pcolor() и pcolormesh().
imshow-
Если X и Y равномерно распределены,
imshowможет быть более быстрой альтернативой.
Примечания
Маскированные массивы
C может быть маскированным массивом. Если
C[i, j]замаскирован, соответствующий четырехугольник будет прозрачным. Маскирование X и Y не поддерживается. Используйтеpcolor, если вам нужна эта функциональность.Ориентация сетки
Ориентация сетки следует стандартной матричной конвенции: массив C с формой (nrows, ncolumns) отображается со значением номера столбца как X и значением номера строки как Y.
Различия между pcolor() и pcolormesh()
Оба метода используются для создания псевдоцветного графика двумерного массива с использованием четырехугольников.
Основное различие заключается в создаваемом объекте и обработке внутренних данных: в то время как
pcolorвозвращаетPolyCollection,pcolormeshвозвращаетQuadMesh. Последний более специализирован для данной цели и поэтому быстрее. Его следует предпочесть практически всегда.Также есть небольшое различие в обработке маскированных массивов. И
pcolor, иpcolormeshподдерживают маскированные массивы для C. Однако толькоpcolorподдерживает маскированные массивы для X и Y. Причина кроется в внутренней обработке маскированных значений.pcolorопускает соответствующие многоугольники из PolyCollection.pcolormeshустанавливает цвет заливки замаскированных элементов в прозрачный. Вы можете увидеть разницу при использовании edgecolors. В то время как все края рисуются независимо от маскирования в QuadMesh, край между двумя смежными замаскированными четырехугольниками вpcolorне рисуется, так как соответствующие многоугольники не существуют в PolyCollection.Еще одно различие заключается в поддержке затенения Гуро в
pcolormesh, которая недоступна сpcolor.
Примеры использования matplotlib.axes.Axes.pcolormesh
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/_as_gen/matplotlib.axes.Axes.pcolormesh.html