Spec-Zone.ru › Matplotlib 3.7

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, необязательно

Определяет количество и позиции контурных линий / областей.

Если int 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')

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

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

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

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

Локатор используется для определения контурных уровней, если они не заданы явно через 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 также может быть итерируемым объектом из вышеперечисленных строк, задающим набор стилей линий для использования. Если этот итерируемый объект короче, чем количество уровней контуров, он повторяется по мере необходимости.

hatchesсписок[строка], optional

Только для contourf.

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

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

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

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

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

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

Примечания

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

    z1 < Z <= z2
    

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

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

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

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

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

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

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

Изображение контура

Изображение контура

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

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

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

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

Штриховка контуров с заливкой

Штриховка контуров с заливкой

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

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

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

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

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

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

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

Spec-Zone.ru

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