Spec-Zone.ru › Matplotlib 3.8

matplotlib.axes.Axes.contour

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

Построение контурных линий.

Вызов функции:

contour([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.

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

Возвращает:
QuadContourSet
Другие параметры:
END_OF_DOCUMENT_MARKER
corner_maskbool, default: rcParams["contour.corner_mask"] (default: True)

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

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

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

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

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

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

alphaчисло, по умолчанию: 1

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

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

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

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

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

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

Если задано, это может быть одно из следующих:

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

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

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

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

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

linewidthsчисло или массив, по умолчанию: rcParams["contour.linewidth"] (по умолчанию: 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список[строка], необязательно

Только для contourf.

Список узоров штриховки для заполненных областей. Если None, штриховка не будет добавлена к контуру. Штриховка поддерживается только в PostScript, PDF, SVG и Agg-бэкендах.

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.contour

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

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

Демонстрация контуров

Демонстрация контуров

Контурное изображение

Контурное изображение

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

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

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

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

Штриховка Contourf

Штриховка Contourf

Определение контуров области решений оптимизаций

Определение контуров области решений оптимизаций

Смешивание прозрачности с цветом в 2D изображениях

Смешивание прозрачности с цветом в 2D изображениях

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

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

Демонстрация эффектов траекторий

Демонстрация эффектов траекторий

Эффект траектории TickedStroke

Эффект траектории TickedStroke

График контуров (уровней) в 3D

График контуров (уровней) в 3D

График контуров (уровней) в 3D с параметром extend3d

График контуров (уровней) в 3D с параметром extend3d

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

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

contour(X, Y, Z)

contour(X, Y, Z)

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

Spec-Zone.ru

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