Spec-Zone.ru › Matplotlib

matplotlib.pyplot.contourf

matplotlib.pyplot.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 «приятных» уровней контура между минимальным и максимальным числовыми значениями Z.

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

Возвращаемое значение:
QuadContourSet
Другие параметры:
END_OF_DOCUMENT_MARKER
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 или один из его подклассов (см. Нормализация цветовых карт).
  • Имя масштаба, например, "линейный", "логарифмический", "симлогарифмический", "логит" и т.д. Список доступных масштабов можно получить, вызвав matplotlib.scale.get_scale_names(). В этом случае соответствующий подкласс Normalize динамически генерируется и создаётся.

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

vmin, vmaxfloat, необязательно

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

Локатор используется для определения контурных уровней, если они не заданы явно через 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, необязательно

Включить сглаживание, переопределяя значения по умолчанию. Для заполненных контуров значение по умолчанию - False. Для линейных контуров оно берется из 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, 'solid', 'dashed', 'dashdot', 'dotted'}, optional

Только для contour.

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

Если negative_linestyles равно None, используется значение по умолчанию из rcParams["contour.negative_linestyles"].

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

hatcheslist[str], optional

Только для contourf.

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

algorithm{'mpl2005', 'mpl2014', 'serial', 'threaded'}, optional

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

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

clip_pathPatch или Path или TransformedPath

Установить путь обрезки. См. set_clip_path.

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

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

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

Примечания

Примечание

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

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

    z1 < Z <= z2
    

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

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

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

Контурная маска углов

Контурная маска углов

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

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

Штриховка contourf

Штриховка contourf

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

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

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

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

pcolormesh

pcolormesh

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

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

© 2012–2023 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