Spec-Zone.ru › Matplotlib

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, 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

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

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

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

    z1 < Z <= z2
    

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

  3. contour и contourf используют алгоритм marching squares для вычисления расположения контуров. Дополнительную информацию можно найти в документации 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/stable/api/_as_gen/matplotlib.pyplot.contour.html

Spec-Zone.ru

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