matplotlib.axes.Axes.contourf
- Axes.contourf(*args, data=None, **kwargs)[source]
-
Построение заполненных контуров.
Вызов функции:
contourf([X, Y,] Z, [levels], **kwargs)
contourиcontourfрисуют линии контура и заполненные контуры соответственно. За исключением отмеченных случаев, сигнатуры функций и возвращаемые значения одинаковы для обоих версий.- Параметры:
-
- X, Yarray-like, необязательно
-
Координаты значений в Z.
X и Y должны быть оба 2D с той же формой, что и Z (например, созданные с помощью
numpy.meshgrid), или они должны быть оба 1-D, так чтоlen(X) == N— число столбцов в Z, аlen(Y) == M— число строк в Z.X и Y должны быть упорядочены монотонно.
Если не указаны, они предполагаются целыми индексами, т.е.
X = range(N),Y = range(M). - Z(M, N) array-like
-
Значения высоты, по которым строится контур. Отображение цветов контролируется параметрами cmap, norm, vmin и vmax.
- levelsint или array-like, необязательно
-
Определяет количество и позиции линий/областей контура.
Если целое число n, использовать
MaxNLocator, который пытается автоматически выбрать не более n+1 «красивых» уровней контура между vmin и vmax.Если массив, рисовать линии контура на указанных уровнях. Значения должны быть упорядочены по возрастанию.
- Возвращаемое значение:
-
QuadContourSet
- Другие параметры:
-
-
corner_maskbool, default:
rcParams["contour.corner_mask"](default:True) -
Включить/отключить маскировку углов, которая имеет эффект только если Z является массивкой с замаскированными элементами. Если
False, любой квадрат, касающийся замаскированной точки, будет замаскирован. ЕслиTrue, будут замаскированы только треугольные углы квадратов, ближайшие к этим точкам, а другие треугольные углы, состоящие из трёх незамаскированных точек, будут отображены как обычно. - colorsстрока цвета или последовательность цветов, необязательно
-
Цвета уровней, то есть линии для
contourи области дляcontourf.Последовательность циклически используется для уровней в порядке возрастания. Если последовательность короче, чем количество уровней, она повторяется.
В качестве сокращения можно использовать строки с единственным цветом вместо списков с одним элементом, например,
'red'вместо['red']для окраски всех уровней одним цветом. Это сокращение работает только для строк с цветами, а не для других способов задания цветов.По умолчанию (значение None) используется цветовая карта, указанная параметром cmap.
- alphafloat, default: 1
-
Значение альфа-смешивания, от 0 (прозрачный) до 1 (непрозрачный).
-
cmapстрока или
Colormap, default:rcParams["image.cmap"](default:'viridis') -
Экземпляр цветовой карты или зарегистрированное имя цветовой карты, используемое для сопоставления скалярных данных с цветами.
Этот параметр игнорируется, если задан параметр colors.
-
normстрока или
Normalize, необязательно -
Метод нормализации, используемый для масштабирования скалярных данных до диапазона [0, 1] перед сопоставлением с цветами с помощью cmap. По умолчанию используется линейное масштабирование, сопоставляющее минимальное значение с 0, а максимальное — с 1.
Если задано, это может быть одно из следующих:
- Экземпляр
Normalizeили один из его подклассов (см. Нормализация цветовых карт). - Имя шкалы, например, "linear", "log", "symlog", "logit" и т.д. Список доступных шкал можно получить, вызвав
matplotlib.scale.get_scale_names(). В этом случае подходящий подклассNormalizeдинамически генерируется и создаётся.
Этот параметр игнорируется, если задан параметр colors.
- Экземпляр
- vmin, vmaxfloat, необязательно
-
При использовании скалярных данных и отсутствии явного параметра norm, vmin и vmax определяют диапазон данных, который охватывает цветовая карта. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Использование vmin/vmax при заданном экземпляре norm является ошибкой (но использование имени norm со значениями vmin/vmax допустимо).
Если vmin или vmax не заданы, по умолчанию масштабирование цвета основано на levels.
Этот параметр игнорируется, если задан параметр colors.
- origin{None, 'верхний', 'нижний', 'изображение'}, default: None
-
Определяет ориентацию и точное положение Z, указывая положение
Z[0, 0]. Это актуально только если X, Y не заданы.-
None:
Z[0, 0]находится в левом нижнем углу при X=0, Y=0. - 'нижний':
Z[0, 0]находится в левом нижнем углу при X=0.5, Y=0.5. - 'верхний':
Z[0, 0]находится в левом верхнем углу при X=N+0.5, Y=0.5. - 'изображение': Используйте значение из
rcParams["image.origin"](по умолчанию:'upper').
-
None:
- extent(x0, x1, y0, y1), необязательно
-
Если origin не None, то extent интерпретируется как в
imshow: он задаёт внешние границы пикселей. В этом случае положение Z[0, 0] является центром пикселя, а не углом. Если origin — None, то (x0, y0) — положение Z[0, 0], а (x1, y1) — положение Z[-1, -1].Этот аргумент игнорируется, если X и Y заданы при вызове contour.
- locatorподкласс ticker.Locator, необязательно
-
Locator используется для определения контурных уровней, если они не заданы явно через levels. По умолчанию
MaxNLocator. - extend{'ничего', 'оба', 'мин', 'макс'}, по умолчанию: 'ничего'
-
Определяет
contourfокраску значений, которые находятся за пределами диапазона levels.Если 'ничего', значения за пределами диапазона levels не окрашиваются. Если 'мин', 'макс' или 'оба', окрашиваются значения ниже, выше или ниже и выше диапазона levels.
Значения ниже
min(levels)и вышеmax(levels)сопоставляются со значениями под/надColormap. Обратите внимание, что большинство цветовых карт по умолчанию не имеют выделенных цветов для этих значений, поэтому значения над и под краями цветовой карты. Возможно, вам нужно явно задать эти значения, используяColormap.set_underиColormap.set_over.Примечание
Существующий
QuadContourSetне уведомляется о том, если свойства его цветовой карты изменены. Поэтому требуется явный вызовQuadContourSet.changed()после изменения цветовой карты. Явный вызов можно опустить, если цветовой шкале присвоенаQuadContourSet, потому что она неявно вызываетQuadContourSet.changed().Пример:
x = np.arange(1, 10) y = x.reshape(-1, 1) h = x * y cs = plt.contourf(h, levels=[10, 30, 50], colors=['#808080', '#A0A0A0', '#C0C0C0'], extend='both') cs.cmap.set_over('red') cs.cmap.set_under('blue') cs.changed() - xunits, yunitsзарегистрированные единицы, необязательно
-
Переопределяет единицы осей, указав экземпляр
matplotlib.units.ConversionInterface. - antialiasedbool, необязательно
-
Включить сглаживание, переопределяя значения по умолчанию. Для заполненных контуров значение по умолчанию — True. Для линейных контуров оно взято из
rcParams["lines.antialiased"](по умолчанию:True). - nchunkint >= 0, необязательно
-
Если 0, домен не разбивается. Укажите положительное целое число, чтобы разделить домен на поддомены размером nchunk по nchunk квадратов. Разбиение уменьшает максимальную длину полигонов, генерируемых алгоритмом контурирования, что снижает нагрузку на бэкэнд и требует немного меньше ОЗУ. Однако это может привести к артефактам отображения на границах разбиения в зависимости от бэкэнда, флага antialiased и значения alpha.
-
linewidthsfloat или массив, default:
rcParams["contour.linewidth"](default:None) -
Применимо только к
contour.Толщина линий контуров.
Если число, все уровни будут нарисованы с этой толщиной линии.
Если последовательность, уровни в порядке возрастания будут нарисованы с толщинами линий в заданном порядке.
Если None, это возвращается к
rcParams["lines.linewidth"](по умолчанию:1.5). - linestyles{None, 'сплошная', 'штриховая', 'штрихпунктирная', 'пунктирная'}, необязательно
-
Применимо только к
contour.Если linestyles — None, значение по умолчанию — 'сплошная', если линии не монохромные. В противном случае отрицательные контуры будут использовать стиль линии из аргумента negative_linestyles.
linestyles также может быть итерируемым списком вышеуказанных строк, задавая набор стилей линий. Если этот итерируемый список короче, чем количество контурных уровней, он будет повторяться по мере необходимости.
- negative_linestyles{None, 'сплошная', 'штриховая', 'штрихпунктирная', 'пунктирная'}, необязательно
-
Применимо только к
contour.Если linestyles — None и линии монохромные, этот аргумент задаёт стиль линии для отрицательных контуров.
Если negative_linestyles — None, значение по умолчанию взято из
rcParams["contour.negative_linestyles"].negative_linestyles также может быть итерируемым списком вышеуказанных строк, задающим набор стилей линий. Если этот итерируемый список короче, чем количество контурных уровней, он будет повторяться по мере необходимости.
- hatchesсписок[str], необязательно
-
corner_maskbool, default:
-
-
Только для
contourf.Список шаблонов штриховки для использования на залитых областях. Если None, штриховка не будет добавлена к контуру. Штриховка поддерживается только в бэкэндах PostScript, PDF, SVG и Agg.
- algorithm{'mpl2005', 'mpl2014', 'serial', 'threaded'}, optional
-
Какой алгоритм контурной обработки использовать для расчёта линий и полигонов контура. Алгоритмы реализованы в ContourPy, см. документацию ContourPy для получения дополнительной информации.
Значение по умолчанию взято из
rcParams["contour.algorithm"](значение по умолчанию:'mpl2014'). - dataиндексируемый объект, необязательно
-
Если задан, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключения).
-
Примечания
-
contourfотличается от версии MATLAB тем, что не рисует края полигонов. Чтобы нарисовать края, добавьте контурные линии с помощью вызововcontour. -
contourfзаполняет интервалы, которые закрыты сверху; то есть, для границ z1 и z2, заполненная область:z1 < Z <= z2
за исключением самого нижнего интервала, который закрыт с обеих сторон (т.е. он включает наименьшее значение).
-
contourиcontourfиспользуют алгоритм «марширующих квадратов» для вычисления расположения контуров. Более подробную информацию можно найти в документации ContourPy.
Примеры использования matplotlib.axes.Axes.contourf
Контурный график неравномерно расположенных данных
© 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.contourf.html