Spec-Zone.ru › Matplotlib 3.8

matplotlib.pyplot.contour

matplotlib.pyplot.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.

alphafloat, default: 1

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

cmapстрока или Colormap, default: rcParams["image.cmap"] (default: 'viridis')

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

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

normстрока или Normalize, optional

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

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

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

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

vmin, vmaxfloat, optional

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

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

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

origin{None, 'upper', 'lower', 'image'}, default: 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"] (default: 'upper').
extent(x0, x1, y0, y1), optional

Если 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, optional

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

extend{'neither', 'both', 'min', 'max'}, default: 'neither'

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

Если 'neither', значения вне диапазона levels не окрашиваются. Если 'min', 'max' или 'both', окрашиваются значения ниже, выше или ниже и выше диапазона 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, optional

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

nchunkint >= 0, optional

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

linewidthsfloat или массив, default: rcParams["contour.linewidth"] (default: None)

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

Ширина линий контура.

Если число, все уровни будут нарисованы с этой шириной.

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

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

linestyles{None, 'solid', 'dashed', 'dashdot', 'dotted'}, optional

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

Если linestyles - None, по умолчанию используется 'solid', за исключением монохромных линий. В этом случае отрицательные контуры вместо этого получат стиль линии из аргумента 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, штриховка не будет добавлена к контуру. Штриховка поддерживается только в 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.pyplot.contour

Маска угла контура

Маска угла контура

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

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

Контурная картинка

Контурная картинка

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

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

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

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

Штриховка contourf

Штриховка contourf

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

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

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

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

Интерактивные функции

Интерактивные функции

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

Spec-Zone.ru

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