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 и затенение для более подробного описания.
- 'flat': Используется однородный цвет для каждого четырёхугольника. Цвет четырёхугольника (i, j), (i+1, j), (i, j+1), (i+1, j+1) задаётся
- snapbool, по умолчанию: False
-
Привязать сетку к границам пикселей.
- rasterizedbool, необязательно
-
Растеризовать pcolormesh при отрисовке векторной графики. Это может ускорить отрисовку и создать меньшие файлы для больших наборов данных. См. также Растеризация для векторной графики.
- Возвращаемое значение:
-
matplotlib.collections.QuadMesh
- Другие параметры:
-
- dataиндексируемый объект, необязательно
-
Если задан, все параметры также принимают строку
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или dashes или linestyles или lsстрока или кортеж или список кортежей
linewidthили linewidths или lwчисло с плавающей точкой или список чисел с плавающей точкой
bool
Normalizeили строка или Noneoffset_transformили transOffset(N, 2) или (2,) массивоподобный объект
список
AbstractPathEffectNone или bool или float или вызываемый объект
число с плавающей точкой
bool
(scale: float, length: float, randomness: float)
bool или None
строка
список строк или None
bool
число с плавающей точкой
-
См. также
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
© 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