Spec-Zone.ru › Matplotlib

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

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

Возвращаемое значение:
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, по умолчанию: rcParams["image.cmap"] (по умолчанию: 'viridis')

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

Этот параметр игнорируется, если установлен 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, 'верхний', 'нижний', 'изображение'}, по умолчанию: 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, необязательно

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

extend{'ничего', 'оба', 'мин', 'макс'}, по умолчанию: 'ничего'

Определяет раскраску значений, которые находятся вне диапазона 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 или массив, по умолчанию: rcParams["contour.linewidth"] (по умолчанию: 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] (если это не вызывает исключения).

Примечания

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