matplotlib.pyplot.pcolormesh
- matplotlib.pyplot.pcolormesh(*args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, colorizer=None, shading=None, antialiased=False, data=None, **kwargs)[исходный код]
-
Создаёт псевдоцветный график с нерегулярной прямоугольной сеткой.
Сигнатура вызова:
pcolormesh([X, Y,] C, /, **kwargs)
X и Y можно использовать для задания углов четырёхугольников.
Аргументы X, Y, C можно передавать только позиционно.
Подсказка
pcolormeshпохож наpcolor. Он значительно быстрее и предпочтителен в большинстве случаев. Подробное обсуждение различий см. в разделе Различия между pcolor() и pcolormesh().- Параметры:
-
- Cмассивоподобный объект
-
Данные сетки. Поддерживаются следующие формы массива:
- (M, N) или M*N: сетка со скалярными данными. Значения преобразуются в цвета с помощью нормализации и цветовой карты. См. параметры norm, cmap, vmin, vmax.
- (M, N, 3): изображение со значениями RGB (числа с плавающей точкой от 0 до 1 или целые числа от 0 до 255).
- (M, N, 4): изображение со значениями RGBA (числа с плавающей точкой от 0 до 1 или целые числа от 0 до 255), то есть с прозрачностью.
Первые два измерения (M, N) задают строки и столбцы данных сетки.
- X, Yмассивоподобный объект, необязательный
-
Координаты углов четырёхугольников 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, vmaxчисло с плавающей точкой, необязательный
-
При использовании скалярных данных и отсутствии явно заданного norm параметры vmin и vmax определяют диапазон данных, охватываемый цветовой картой. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Использовать vmin/vmax вместе с экземпляром norm нельзя (однако допустимо использовать имя norm типа
strвместе с vmin/vmax). -
colorizer
Colorizerили None, по умолчанию: None -
Объект Colorizer, используемый для сопоставления цветов с данными. Если задано значение None, объект Colorizer создаётся на основе norm и cmap.
- edgecolors{'none', None, 'face', цвет, последовательность цветов}, необязательный
-
Цвет границ. По умолчанию — 'none'. Возможные значения:
- 'none' или '': без границы.
-
None: будет использоваться
rcParams["patch.edgecolor"](по умолчанию:'black'). Обратите внимание, что в настоящее время для этого параметрrcParams["patch.force_edgecolor"](по умолчанию:False) должен иметь значение True. - 'face': использовать цвет прилегающей грани.
- Цвет или последовательность цветов задаёт цвет границы.
Форма единственного числа edgecolor работает как псевдоним.
- alphaчисло с плавающей точкой, по умолчанию: 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], еслиsявляется ключом вdata. - **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или str или Noneцвет или список кортежей RGBA
edgecolorилиecилиedgecolorsfacecolorилиfacecolorsилиfcstr
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
неизвестно
bool
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleилиdashesилиlinestylesилиlsstr, кортеж или список из них
linewidthилиlinewidthsилиlwчисло с плавающей точкой или список чисел с плавающей точкой
bool
Normalizeили str или Noneмассивоподобный объект формы (N, 2) или (2,)
список объектов
AbstractPathEffectNone, bool, число с плавающей точкой или вызываемый объект
число с плавающей точкой
bool
(scale: float, length: float, randomness: float)
bool или None
str
список значений str или 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делает цвет граней замаскированных элементов прозрачным. Различие можно заметить при использовании цветов границ. В QuadMesh все границы отрисовываются независимо от маскирования, тогда как граница между двумя соседними замаскированными четырёхугольниками вpcolorне отрисовывается, поскольку соответствующие многоугольники отсутствуют в PolyQuadMesh. Поскольку PolyQuadMesh отрисовывает каждый отдельный многоугольник, он также поддерживает применение штриховок и стилей линий к коллекции.Ещё одно различие — поддержка затенения по Гуро в
pcolormesh, которое недоступно вpcolor.
Примеры использования matplotlib.pyplot.pcolormesh
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.pcolormesh.html