matplotlib.pyplot.pcolormesh
- matplotlib.pyplot.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 значениями (float от 0 до 1 или int от 0 до 255).
- (M, N, 4): изображение с RGBA значениями (float от 0 до 1 или int от 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.
- vmin, vmaxfloat, необязательно
-
При использовании скалярных данных без явного norm, vmin и vmax определяют диапазон данных, который охватывает цветовая карта. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных.
- edgecolors{'none', None, 'face', color, последовательность цветов}, необязательно
-
Цвет границ. По умолчанию 'none'. Возможные значения:
- alphafloat, по умолчанию: None
-
Значение альфа-смешивания, от 0 (прозрачный) до 1 (непрозрачный).
- shading{'flat', 'nearest', 'gouraud', 'auto'}, необязательно
-
Стиль заливки четырёхугольников; по умолчанию
rcParams["pcolor.shading"](по умолчанию:'auto'). Возможные значения: - snapbool, по умолчанию: False
-
Привязать ли сетку к границам пикселей.
- rasterizedbool, необязательно
-
Растеризовать pcolormesh при отрисовке векторной графики. Это может ускорить рендеринг и уменьшить размер файлов для больших наборов данных. См. также Растеризация для векторной графики.
- Возвращаемое значение:
-
matplotlib.collections.QuadMesh
-
- dataиндексируемый объект, необязательно
-
Если задано, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение). - **kwargs
-
Кроме того, разрешены следующие аргументы. Они передаются конструктору
QuadMesh:Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив float (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или str или Noneцвет или список кортежей RGBA
edgecolorили ec или edgecolorsцвет или список цветов или 'face'
facecolorили facecolors или fcцвет или список цветов
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили dashes или linestyles или lsstr или кортеж или список
linewidthили linewidths или lwfloat или список float
bool
Normalizeили str или Noneoffset_transformили transOffset(N, 2) или (2,) массив-подобный объект
список
AbstractPathEffectNone или bool или float или вызываемая функция
float
bool
(scale: float, length: float, randomness: float)
bool или None
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.pyplot.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.pyplot.pcolormesh.html