Spec-Zone.ru › Matplotlib 3.7

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:

Свойство

Описание

agg_filter

функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив чисел с плавающей точкой (m, n, 3) и два смещения от нижнего левого угла изображения

alpha

массивоподобный объект или скаляр или None

animated

булево значение

antialiased или aa или antialiaseds

булево значение или список булевых значений

array

массивоподобный объект

capstyle

CapStyle или {'butt', 'projecting', 'round'}

clim

(vmin: число с плавающей точкой, vmax: число с плавающей точкой)

clip_box

Bbox

clip_on

булево значение

clip_path

Объект Patch или (объект Path, преобразование) или None

cmap

Colormap или строка или None

color

цвет или список кортежей RGBA

edgecolor или ec или edgecolors

цвет или список цветов или 'face'

facecolor или facecolors или fc

цвет или список цветов

figure

Figure

gid

строка

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

in_layout

булево значение

joinstyle

JoinStyle или {'miter', 'round', 'bevel'}

label

объект

linestyle или dashes или linestyles или ls

строка или кортеж или список таковых

linewidth или linewidths или lw

число с плавающей точкой или список чисел с плавающей точкой

mouseover

булево значение

norm

Normalize или строка или None

offset_transform или transOffset

неизвестно

offsets

(N, 2) или (2,) массивоподобный объект

path_effects

AbstractPathEffect

picker

None или булево значение или число с плавающей точкой или вызываемый объект

pickradius

неизвестно

rasterized

булево значение

sketch_params

(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)

snap

булево значение или None

transform

Transform

url

строка

urls

список строк или None

visible

булево значение

zorder

число с плавающей точкой

См. также

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

Демонстрация pcolor

Демонстрация pcolor

Сетки pcolormesh и затенение

Сетки pcolormesh и затенение

pcolormesh

pcolormesh

Демонстрация QuadMesh

Демонстрация QuadMesh

Размещение цветовых панелей

Размещение цветовых панелей

Подрисунки

Подрисунки

Гистограмма временных рядов

Гистограмма временных рядов

Растеризация для векторной графики

Растеризация для векторной графики

Руководство по ограниченному макетам

Руководство по ограниченному макетам

Создание цветовых карт в Matplotlib

Создание цветовых карт в Matplotlib

Нормализация цветовых карт

Нормализация цветовых карт

pcolormesh(X, Y, Z)

pcolormesh(X, Y, Z)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API