Spec-Zone.ru › Matplotlib

matplotlib.axes.Axes.contourf

Axes.contourf(*args, data=None, **kwargs)[source]

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

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

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 задают диапазон данных, охватываемый цветовой картой. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Если задан экземпляр norm, использовать vmin/vmax нельзя (однако допустимо использовать имя 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'

Определяет раскраску значений за пределами диапазона levels цветами contourf.

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

Значения ниже min(levels) и выше max(levels) сопоставляются со значениями under/over цветовой карты Colormap. Учтите, что у большинства цветовых карт по умолчанию нет специальных цветов для этих значений, поэтому для значений over и under используются крайние цвета цветовой карты. При необходимости их можно задать явно с помощью 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список строк, необязательно

Применяется только к 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.

Примечания

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

    z1 < Z <= z2
    

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

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

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

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

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

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

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

Штриховка в contourf

Штриховка в contourf

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

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

График контуров для неравномерно распределённых данных

График контуров для неравномерно распределённых данных

pcolormesh

pcolormesh

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

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

График поверхности 3D-бокса

График поверхности 3D-бокса

Заполненные контуры

Заполненные контуры

Проецирование заполненного контура на график

Проецирование заполненного контура на график

contourf(X, Y, Z)

contourf(X, Y, Z)

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

Spec-Zone.ru

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