Spec-Zone.ru › Matplotlib

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 являются одномерными массивами или столбцами, они будут расширены по мере необходимости до соответствующих двумерных массивов, создавая прямоугольную сетку.

cmapстрока или Colormap, по умолчанию: rcParams["image.cmap"] (по умолчанию: 'viridis')

Экземпляр Colormap или зарегистрированное имя цветовой карты, используемое для сопоставления скалярных данных с цветами.

normстрока или 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 допустимо).

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 и затенение для более подробного описания.

snapbool, по умолчанию: False

Привязать сетку к границам пикселей.

rasterizedbool, необязательно

Растеризовать pcolormesh при отрисовке векторной графики. Это может ускорить отрисовку и создать меньшие файлы для больших наборов данных. См. также Растеризация для векторной графики.

Возвращаемое значение:
matplotlib.collections.QuadMesh
Другие параметры:
dataиндексируемый объект, необязательно

Если задан, все параметры также принимают строку s, которая интерпретируется как data[s] (если это не вызывает исключения).

**kwargs

Кроме того, разрешены следующие аргументы. Они передаются конструктору QuadMesh:

Свойство

Описание

agg_filter

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

alpha

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

animated

bool

antialiased или aa или antialiaseds

bool или список bool

array

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

capstyle

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

clim

(vmin: float, vmax: float)

clip_box

BboxBase или None

clip_on

bool

clip_path

Объект Patch или (Path, Transform) или None

cmap

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

color

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

edgecolor или ec или edgecolors

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

facecolor или facecolors или fc

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

figure

Figure

gid

строка

hatch

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

in_layout

bool

joinstyle

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

label

объект

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

строка или кортеж или список кортежей

linewidth или linewidths или lw

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

mouseover

bool

norm

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

offset_transform или transOffset

Transform

offsets

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

path_effects

список AbstractPathEffect

picker

None или bool или float или вызываемый объект

pickradius

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

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool или None

transform

Transform

url

строка

urls

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

visible

bool

zorder

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

См. также

pcolor

Альтернативная реализация с немного другими функциями. Подробное обсуждение различий см. в Различиях между pcolor() и pcolormesh().

imshow

Если X и Y являются равноотстоящими, imshow может быть более быстрой альтернативой.

Примечания

Примечание

Это обертка pyplot для axes.Axes.pcolormesh.

Маскированные массивы

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

Графики pcolor

Графики pcolor

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

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

pcolormesh

pcolormesh

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

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

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

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

Растрирование векторной графики

Растрирование векторной графики

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.pcolormesh.html

Spec-Zone.ru

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