matplotlib.axes.Axes.pcolormesh
- Axes.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 отбрасываются. - '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
- Другие параметры:
-
- dataиндексируемый объект, необязательно
-
Если задано, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключения). - **kwargs
-
Кроме того, разрешены следующие аргументы. Они передаются конструктору
QuadMesh:Свойство
Описание
функция фильтра, которая принимает массив с плавающей точкой (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или строка или Noneцвет или список кортежей rgba
edgecolorили ec или edgecolorsцвет или список цветов или 'face'
facecolorили facecolors или fcцвет или список цветов
строка
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили штрихи или linestyles или lsстрока или кортеж или список thereof
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()
Оба метода используются для создания псевдоцветного графика двумерного массива с использованием четырехугольников.
Основное различие заключается в создаваемом объекте и внутренней обработке данных: в то время как
pcolorвозвращаетPolyCollection,pcolormeshвозвращаетQuadMesh. Последний более специализирован для данной цели и, следовательно, быстрее. Его следует предпочесть почти всегда.Также есть небольшое различие в обработке маскированных массивов. И
pcolor, иpcolormeshподдерживают маскированные массивы для C. Однако толькоpcolorподдерживает маскированные массивы для X и Y. Причина заключается во внутренней обработке маскированных значений.pcolorисключает соответствующие многоугольники из PolyCollection.pcolormeshустанавливает цвет лица маскированных элементов в прозрачный. Разницу можно увидеть при использовании edgecolors. В то время как все края рисуются независимо от маскирования в QuadMesh, край между двумя смежными маскированными четырехугольниками вpcolorне рисуется, так как соответствующие многоугольники не существуют в PolyCollection.Еще одно различие заключается в поддержке затенения Гуро в
pcolormesh, которая недоступна сpcolor.
Примеры использования matplotlib.axes.Axes.pcolormesh
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.axes.Axes.pcolormesh.html