Spec-Zone.ru › Matplotlib

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

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

Если int n, используйте MaxNLocator, который пытается автоматически выбрать не более n+1 "приемлемых" уровней контура между минимальным и максимальным числовыми значениями Z.

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

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

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

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

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

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

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

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

alphafloat, default: 1

Значение прозрачности, от 0 (прозрачный) до 1 (непрозрачный).

cmapstr или Colormap, default: rcParams["image.cmap"] (default: 'viridis')

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

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

normstr или Normalize, необязательно

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

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

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

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

vmin, vmaxfloat, необязательно

При использовании скалярных данных и отсутствии явного параметра 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"] (по умолчанию: '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{'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"] (по умолчанию: True).

nchunkint >= 0, optional

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

linewidthsfloat или массив-подобный объект, default: rcParams["contour.linewidth"] (default: 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 также может быть итерируемым объектом, содержащим указанные выше строки, определяющие набор стилей линий. Если этот итерируемый объект короче, чем количество уровней контура, он будет повторяться по необходимости.

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] (если это не вызывает исключение).

Примечания

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

    z1 < Z <= z2
    

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

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

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

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

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

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

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

Контурная диаграмма

Контурная диаграмма

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

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

Демонстрация 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/stable/api/_as_gen/matplotlib.axes.Axes.contour.html

Spec-Zone.ru

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