Spec-Zone.ru › Matplotlib 3.6

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 «приятных» уровней контура между vmin и vmax.

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

Возвращает:
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 или одного из его подклассов (см. Нормализация цветовых карт).
  • Имя шкалы, например, "линейное", "логарифмическое", "симлогическое", "логит" и т. д. Для получения списка доступных шкал вызовите 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"] (по умолчанию: '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

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

nchunkint >= 0, optional

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

linewidthsfloat или массив-подобный объект, по умолчанию: rcParams["contour.linewidth"] (по умолчанию: None)

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

Толщина линий контуров.

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

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

Если None, используется значение по умолчанию rcParams["lines.linewidth"] (по умолчанию: 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список[str], optional

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

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

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

Contour Corner Mask

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

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

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

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

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

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

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

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

Штриховка contourf

Штриховка contourf
Contouring the solution space of optimizations

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

Построение контуров области решений оптимизаций
Blend transparency with color in 2D images

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

Смешивание прозрачности с цветом в 2D изображениях
Contour plot of irregularly spaced data

Диаграмма контуров неравномерно расположенных данных

Диаграмма контуров неравномерно расположенных данных
Patheffect Demo

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

Демонстрация эффектов пути
TickedStroke patheffect

Эффект пути TickedStroke

Эффект пути TickedStroke
Demonstrates plotting contour (level) curves in 3D

Демонстрация построения кривых контуров (уровня) в 3D

Демонстрация построения кривых контуров (уровня) в 3D
Demonstrates plotting contour (level) curves in 3D using the extend3d option

Демонстрация построения кривых контуров (уровня) в 3D с опцией extend3d

Демонстрация построения кривых контуров (уровня) в 3D с опцией extend3d
Projecting contour profiles onto a graph

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

Проектирование профилей контуров на график
contour(X, Y, Z)

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.6.0/api/_as_gen/matplotlib.axes.Axes.contour.html

Spec-Zone.ru

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