Spec-Zone.ru › Matplotlib

matplotlib.pyplot.contourf

matplotlib.pyplot.contourf(*args, data=None, **kwargs)[исходный код]

Построить залитые контуры.

Сигнатура вызова:

contourf([X, Y,] Z, /, [levels], **kwargs)

Аргументы X, Y, Z можно передавать только позиционно.

contour и contourf строят контурные линии и залитые контуры соответственно. За исключением отмеченных случаев, сигнатуры функций и возвращаемые значения одинаковы для обеих версий.

Параметры:
X, Yмассивоподобные, необязательные

Координаты значений в Z.

X и Y должны быть двумерными и иметь ту же форму, что и Z (например, созданными с помощью numpy.meshgrid), либо оба должны быть одномерными, причём len(X) == N — это число столбцов в Z, а len(Y) == M — число строк в Z.

X и Y должны быть монотонно упорядочены.

Если они не заданы, предполагаются целочисленные индексы, то есть X = range(N), Y = range(M).

Zмассивоподобный объект формы (M, N)

Значения высоты, по которым строится контур. Отображение цветов задаётся параметрами cmap, norm, vmin и vmax.

levelsцелое число или массивоподобный объект, необязательно

Определяет количество и положение контурных линий / областей.

Если задано целое число n, используется MaxNLocator, который пытается автоматически выбрать не более n+1 «подходящих» уровней контура между минимальным и максимальным числовыми значениями Z.

Если задан массивоподобный объект, контурные линии строятся на указанных уровнях. Значения должны быть расположены в возрастающем порядке.

Возвращает:
QuadContourSet
Другие параметры:
corner_maskлогическое значение, по умолчанию: rcParams["contour.corner_mask"] (значение по умолчанию: True)

Включает или отключает маскирование углов, которое действует только в том случае, если Z — маскированный массив. Если False, маскируется любой четырёхугольник, соприкасающийся с маскированной точкой. Если True, всегда маскируются только треугольные углы четырёхугольников, ближайшие к этим точкам; остальные треугольные углы, образованные тремя немаскированными точками, обрабатываются как обычно.

colorsцвет или список значений цвета, необязательно

Цвета уровней, то есть линий для contour и областей для contourf.

Последовательность циклически повторяется для уровней в порядке возрастания. Если последовательность короче числа уровней, она повторяется.

Для краткости вместо списка из одного элемента можно указать один цвет: например, 'red' вместо ['red'], чтобы окрасить все уровни в один цвет.

Изменено в версии 3.10: Ранее один цвет нужно было задавать строкой, теперь можно передавать любой допустимый формат цвета.

По умолчанию (значение None) используется цветовая карта, указанная параметром cmap.

alphaвещественное число, по умолчанию: 1

Значение альфа-смешивания от 0 (прозрачный) до 1 (непрозрачный).

cmapстрока или Colormap, по умолчанию: rcParams["image.cmap"] (значение по умолчанию: 'viridis')

Экземпляр цветовой карты или имя зарегистрированной цветовой карты, используемой для преобразования скалярных данных в цвета.

Этот параметр игнорируется, если задан colors.

normстрока или Normalize, необязательно

Метод нормализации, используемый для масштабирования скалярных данных до диапазона [0, 1] перед преобразованием в цвета с помощью cmap. По умолчанию используется линейное масштабирование: минимальное значение преобразуется в 0, а максимальное — в 1.

Если параметр задан, его значением может быть одно из следующего:

  • Экземпляр Normalize или одного из его подклассов (см. раздел Нормализация цветовой карты).
  • Имя шкалы, например одно из следующих: "linear", "log", "symlog", "logit" и т. д. Список доступных шкал можно получить вызовом matplotlib.scale.get_scale_names(). В этом случае подходящий подкласс Normalize создаётся и инициализируется динамически.

Этот параметр игнорируется, если задан colors.

vmin, vmaxвещественное число, необязательно

При использовании скалярных данных без явно заданного norm параметры vmin и vmax определяют диапазон данных, охватываемый цветовой картой. По умолчанию цветовая карта охватывает весь диапазон значений переданных данных. Использовать vmin/vmax вместе с экземпляром norm нельзя (однако допустимо использовать имя norm типа str вместе с vmin/vmax).

Если vmin или vmax не заданы, масштабирование цвета по умолчанию определяется параметром levels.

Этот параметр игнорируется, если задан colors.

colorizerColorizer или None, по умолчанию: None

Объект Colorizer, используемый для сопоставления цветов с данными. Если задано None, объект Colorizer создаётся на основе norm и cmap.

Этот параметр игнорируется, если задан colors.

origin{None, 'upper', 'lower', 'image'}, по умолчанию: None

Определяет ориентацию и точное положение Z, задавая положение Z[0, 0]. Это имеет значение только в том случае, если X и Y не заданы.

  • None: Z[0, 0] находится в точке X=0, Y=0 в левом нижнем углу.
  • 'lower': Z[0, 0] находится в точке X=0.5, Y=0.5 в левом нижнем углу.
  • 'upper': Z[0, 0] находится в точке X=N+0.5, Y=0.5 в левом верхнем углу.
  • 'image': используется значение из rcParams["image.origin"] (по умолчанию: 'upper').
extent(x0, x1, y0, y1), необязательно

Если origin не равен None, параметр extent интерпретируется так же, как в imshow: он задаёт внешние границы пикселей. В этом случае положение Z[0, 0] соответствует центру пикселя, а не его углу. Если origin равен None, то (x0, y0) — положение Z[0, 0], а (x1, y1) — положение Z[-1, -1].

Этот аргумент игнорируется, если при вызове contour заданы X и Y.

locatorподкласс ticker.Locator, необязательно

Локатор используется для определения уровней контура, если они явно не заданы параметром levels. По умолчанию используется MaxNLocator.

extend{'neither', 'both', 'min', 'max'}, по умолчанию: 'neither'

Определяет contourf-окрашивание значений, находящихся за пределами диапазона levels.

Если задано 'neither', значения за пределами диапазона levels не окрашиваются. Если задано 'min', 'max' или 'both', окрашиваются значения ниже, выше или ниже и выше диапазона levels.

Значения ниже min(levels) и выше max(levels) сопоставляются со значениями ниже и выше диапазона цветовой карты Colormap. Учтите, что у большинства цветовых карт по умолчанию нет отдельных цветов для этих значений, поэтому для значений выше и ниже диапазона используются крайние цвета карты. При необходимости эти значения можно задать явно с помощью Colormap.set_under и Colormap.set_over.

Примечание

Существующий объект QuadContourSet не получает уведомления об изменении свойств своей цветовой карты. Поэтому после изменения цветовой карты необходимо явно вызвать changed(). Этот явный вызов можно опустить, если объекту 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.

antialiasedлогическое значение, необязательно

Включает сглаживание, переопределяя значения по умолчанию. Для залитых контуров значение по умолчанию — False. Для контурных линий оно берётся из rcParams["lines.antialiased"] (значение по умолчанию: True).

nchunkцелое число >= 0, необязательно

Если задано 0, область не разбивается на части. Укажите положительное целое число, чтобы разделить область на поддомены размером nchunk на nchunk четырёхугольников. Разбиение на части уменьшает максимальную длину многоугольников, создаваемых алгоритмом построения контуров, что снижает нагрузку на отрисовку, передаваемую бэкенду, и требует немного меньше оперативной памяти. Однако в зависимости от бэкенда, флага antialiased и значения alpha на границах частей могут появляться артефакты отрисовки.

linewidthsвещественное число или массивоподобный объект, по умолчанию: rcParams["contour.linewidth"] (значение по умолчанию: None)

Применяется только к contour.

Толщина контурных линий.

Если задано число, все уровни строятся с этой толщиной линий.

Если задана последовательность, уровни в порядке возрастания строятся с толщинами линий в указанном порядке.

Если задано None, используется rcParams["lines.linewidth"] (значение по умолчанию: 1.5).

linestyles{None, 'solid', 'dashed', 'dashdot', 'dotted'}, необязательно

Применяется только к contour.

Если linestyles равен None, по умолчанию используется 'solid', если только линии не монохромные. В этом случае для отрицательных контуров вместо него используется стиль линии из аргумента negative_linestyles.

linestyles также может быть итерируемым объектом с указанными выше строками, задающим набор стилей линий. Если этот объект короче числа уровней контура, он будет повторяться при необходимости.

negative_linestyles{None, 'solid', 'dashed', 'dashdot', 'dotted'}, необязательно

Применяется только к contour.

Если linestyles равен None, а линии монохромные, этот аргумент задаёт стиль линии для отрицательных контуров.

Если negative_linestyles равен None, значение по умолчанию берётся из rcParams["contour.negative_linestyle"] (значение по умолчанию: 'dashed').

negative_linestyles также может быть итерируемым объектом с указанными выше строками, задающим набор стилей линий. Если этот объект короче числа уровней контура, он будет повторяться при необходимости.

hatchesсписок[str], необязательно

Применяется только к contourf.

Список узоров перекрёстной штриховки для залитых областей. Если задано None, штриховка контуров не добавляется.

algorithm{'mpl2005', 'mpl2014', 'serial', 'threaded'}, необязательно

Алгоритм, используемый для вычисления контурных линий и многоугольников. Алгоритмы реализованы в ContourPy; дополнительную информацию см. в документации ContourPy.

Значение по умолчанию берётся из rcParams["contour.algorithm"] (значение по умолчанию: 'mpl2014').

clip_pathPatch или Path или TransformedPath

Задаёт путь отсечения. См. set_clip_path.

Добавлено в версии 3.8.

dataиндексируемый объект, необязательно

Если задан, для всех параметров также допускается строка s, которая интерпретируется как data[s], если s является ключом в data.

Примечания

Примечание

Это обёртка pyplot для axes.Axes.contourf.

  1. contourf отличается от версии MATLAB тем, что не рисует границы многоугольников. Чтобы нарисовать границы, добавьте контурные линии вызовами contour.
  2. contourf заполняет интервалы, замкнутые сверху; то есть для границ z1 и z2 заполненная область выглядит так:

    z1 < Z <= z2
    

    за исключением самого нижнего интервала, который замкнут с обеих сторон (то есть включает наименьшее значение).

  3. contour и contourf используют алгоритм марширующих квадратов для вычисления положения контуров. Дополнительную информацию можно найти в документации ContourPy.

Примеры использования matplotlib.pyplot.contourf

Маскирование углов контура

Маскирование углов контура

Демонстрация contourf

Демонстрация contourf

Штриховка в contourf

Штриховка в contourf

Contourf и логарифмическая цветовая шкала

Contourf и логарифмическая цветовая шкала

Контурный график для неравномерно расположенных данных

Контурный график для неравномерно расположенных данных

pcolormesh

pcolormesh

Демонстрация Triinterp

Демонстрация Triinterp

© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.contourf.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API