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 (числа с плавающей точкой от 0 до 1 или целые числа от 0 до 255).
- (M, N, 4): изображение с значениями RGBA (числа с плавающей точкой от 0 до 1 или целые числа от 0 до 255), т.е. включая прозрачность.
Первые два измерения (M, N) определяют строки и столбцы данных сетки.
- X, Yarray-like, optional
-
Координаты углов четырёхугольников 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, optional
-
При использовании скалярных данных и отсутствии явного norm, vmin и vmax определяют диапазон данных, который охватывает цветовая карта. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Использование vmin/vmax при заданном norm является ошибкой (но использование имени norm вместе с vmin/vmax приемлемо).
- edgecolors{'none', None, 'face', цвет, последовательность цветов}, optional
-
Цвет границ. По умолчанию 'none'. Возможные значения:
- 'none' или '': Нет границ.
-
None:
rcParams["patch.edgecolor"](по умолчанию:'black') будет использован. Обратите внимание, что в настоящее времяrcParams["patch.force_edgecolor"](по умолчанию:False) должно быть True для работы. - 'face': Используется цвет смежного лица.
- Цвет или последовательность цветов устанавливают цвет границ.
Слово edgecolor также работает как псевдоним.
- alphafloat, по умолчанию: None
-
Значение альфа-смешивания, от 0 (прозрачный) до 1 (непрозрачный).
- shading{'flat', 'nearest', 'gouraud', 'auto'}, optional
-
Стиль заливки четырёхугольника; по умолчанию
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, optional
-
Растрировать pcolormesh при отрисовке векторной графики. Это может ускорить отрисовку и создать более компактные файлы для больших наборов данных. См. также Растрирование для векторной графики.
- Возвращает:
-
matplotlib.collections.QuadMesh
- Другие параметры:
-
- dataindexable object, optional
-
If given, all parameters also accept a string
s, which is interpreted asdata[s](unless this raises an exception). - **kwargs
-
Additionally, the following arguments are allowed. They are passed along to the
QuadMeshconstructor:Свойство
Описание
функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив чисел с плавающей точкой (m, n, 3) и два смещения от нижнего левого угла изображения
массив-подобный объект или скаляр или None
bool
antialiasedor aa or antialiasedsbool или список bool
массив-подобный объект
CapStyleили {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
bool
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,) массив-подобный объект
None или bool или число с плавающей точкой или вызываемый объект
неизвестно
bool
(scale: float, length: float, randomness: float)
bool или None
строка
список строк или None
bool
число с плавающей точкой
-
См. также
pcolor-
Альтернативная реализация со слегка отличающимися функциями. Подробное обсуждение различий см. в Различиях между pcolor() и pcolormesh().
imshow-
Если X и Y равномерно распределены,
imshowможет быть более быстрой альтернативой.
Примечания
Маскированные массивы
C может быть маскированным массивом. Если
C[i, j]маскирован, соответствующий четырехугольник будет прозрачным. Маскирование X и Y не поддерживается. Используйтеpcolor, если вам нужна эта функциональность.Ориентация сетки
Ориентация сетки следует стандартной матричной конвенции: массив C с формой (nrows, ncolumns) отображается со значением номера столбца как X и номера строки как Y.
Различия между pcolor() и pcolormesh()
Оба метода используются для создания псевдоцветного графика 2D-массива с помощью четырехугольников.
Основное различие заключается в создаваемом объекте и внутренней обработке данных: в то время как
pcolorвозвращаетPolyCollection,pcolormeshвозвращаетQuadMesh. Последний более специализирован для данной цели и, следовательно, быстрее. Его следует предпочитать почти во всех случаях.Также есть небольшая разница в обработке маскированных массивов. Оба
pcolorиpcolormeshподдерживают маскированные массивы для C. Однако толькоpcolorподдерживает маскированные массивы для X и Y. Причина заключается во внутренней обработке маскированных значений.pcolorопускает соответствующие многоугольники из PolyCollection.pcolormeshустанавливает цвет заливки маскированных элементов в прозрачный. Вы можете увидеть разницу при использовании edgecolors. В то время как все грани рисуются независимо от маскирования в QuadMesh, граница между двумя смежными маскированными четырехугольниками вpcolorне рисуется, так как соответствующие многоугольники не существуют в PolyCollection.Еще одно различие заключается в поддержке затенения Gouraud в
pcolormesh, которое недоступно сpcolor.
Примеры использования matplotlib.pyplot.pcolormesh
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/_as_gen/matplotlib.pyplot.pcolormesh.html