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().- Параметры:
-
- C2D массив-подобный объект
-
Значения, отображаемые в псевдоцветовой схеме. Отображение цвета контролируется параметрами cmap, norm, vmin и vmax.
- 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 являются одномерными массивами или столбцами, они будут расширены в двумерные массивы, как это необходимо, формируя прямоугольную сетку.
-
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, vmaxчисло с плавающей точкой, необязательно
-
При использовании скалярных данных и отсутствии явного norm, vmin и vmax определяют диапазон данных, который охватывает цветовая карта. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Использование vmin/vmax при заданном экземпляре norm является ошибкой (но использование имени norm
strвместе с vmin/vmax приемлемо). - 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'}, необязательно
-
Стиль заливки четырёхугольника; по умолчанию 'flat' или
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) задаётся
- snapлогическое значение, по умолчанию: False
-
Определяет, нужно ли прижимать сетку к границам пикселей.
- rasterizedлогическое значение, необязательно
-
Растрировать pcolormesh при рисовании векторной графики. Это может ускорить отрисовку и уменьшить размер файлов для больших наборов данных. См. также Растрирование векторной графики.
- Возвращаемое значение:
-
matplotlib.collections.QuadMesh
- Другие параметры:
-
- dataindexable object, optional
-
Если задано, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение). - **kwargs
-
Дополнительно, разрешены следующие аргументы. Они передаются конструктору
QuadMesh:Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения
массивоподобный объект или скаляр или None
bool
antialiasedили aa или antialiasedsbool или список bool
(M, N) массивоподобный объект или M*N массивоподобный объект
CapStyleили {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
bool
Patch или (Path, Transform) или None
Colormapили str или 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.Еще одно отличие — поддержка затенения Гуро в
pcolormesh, которая недоступна вpcolor.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.pyplot.pcolormesh.html