Spec-Zone.ru › Matplotlib

matplotlib.axes.Axes.contour

Axes.contour(*args, data=None, **kwargs)[исходный код]

Построить линии уровня.

Сигнатура вызова:

contour([X, Y,] Z, /, [levels], **kwargs)

Аргументы X, Y, Z являются только позиционными.

contour и contourf строят соответственно линии уровня и залитые области между линиями уровня. За исключением указанных случаев, сигнатуры функций и возвращаемые значения у обеих версий одинаковы.

Параметры:
X, Yмассивоподобные, необязательные

Координаты значений в Z.

X и Y должны быть двумерными и иметь ту же форму, что и Z (например, созданными с помощью numpy.meshgrid), либо оба должны быть одномерными, причем len(X) == N — число столбцов в Z, а len(Y) == M — число строк в Z.

X и Y должны быть упорядочены монотонно.

Если они не заданы, предполагается, что это целочисленные индексы, то есть X = range(N), Y = range(M).

Zмассивоподобный объект формы (M, N)

Значения высоты, по которым строятся линии уровня. Сопоставление цветов контролируется параметрами cmap, norm, vmin и vmax.

levelsцелое число или массивоподобный объект, необязательный

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

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

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

Возвращает:
QuadContourSet
Другие параметры:
corner_maskлогическое значение, по умолчанию: rcParams["contour.corner_mask"] (значение по умолчанию: True)

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

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

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

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

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

Изменено в версии 3.10: Ранее один цвет нужно было задавать строкой, теперь можно передавать любой допустимый формат цвета.

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

alphaвещественное число, по умолчанию: 1

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

cmapстрока или Colormap, по умолчанию: rcParams["image.cmap"] (значение по умолчанию: 'viridis')

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

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

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

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

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

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

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

vmin, vmaxвещественное число, необязательный

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

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

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

colorizerColorizer или None, по умолчанию: None

Объект Colorizer, используемый для сопоставления цветов с данными. Если задано None, объект Colorizer создаётся на основе norm и cmap.

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

origin{None, 'upper', 'lower', 'image'}, по умолчанию: 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].

Этот аргумент игнорируется, если при вызове contour заданы X и Y.

locatorподкласс ticker.Locator, необязательный

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

extend{'neither', 'both', 'min', 'max'}, по умолчанию: 'neither'

Определяет окрашивание значений цветами contourf, лежащих за пределами диапазона levels.

Если задано 'neither', значения за пределами диапазона levels не окрашиваются. Если задано 'min', 'max' или 'both', окрашиваются значения ниже, выше или ниже и выше диапазона levels.

Значения ниже min(levels) и выше max(levels) сопоставляются значениям under/over цветовой карты Colormap. Обратите внимание, что у большинства цветовых карт по умолчанию нет отдельных цветов для этих значений, поэтому для over и under используются крайние цвета цветовой карты. При необходимости эти значения можно задать явно с помощью Colormap.set_under и Colormap.set_over.

Примечание

Существующий объект QuadContourSet не получает уведомления об изменении свойств своей цветовой карты. Поэтому после изменения цветовой карты необходимо явно вызвать changed(). Этот явный вызов можно опустить, если объекту 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.

antialiasedлогическое значение, необязательный

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

nchunkцелое число >= 0, необязательный

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

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

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

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

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

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

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

linestyles{None, 'solid', 'dashed', 'dashdot', 'dotted'}, необязательный

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

Если linestyles равен None, по умолчанию используется 'solid', если только линии не одноцветные. В этом случае для отрицательных линий уровня используется стиль линии из аргумента negative_linestyles.

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

negative_linestyles{None, 'solid', 'dashed', 'dashdot', 'dotted'}, необязательный

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

Если linestyles равен None, а линии одноцветные, этот аргумент задаёт стиль линий для отрицательных уровней.

Если negative_linestyles равен None, стиль берётся из rcParams["contour.negative_linestyle"] (значение по умолчанию: 'dashed').

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

hatchesсписок строк, необязательный

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

Список узоров перекрёстной штриховки для залитых областей. Если задано None, штриховка для линий уровня не добавляется.

algorithm{'mpl2005', 'mpl2014', 'serial', 'threaded'}, необязательный

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

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

clip_pathPatch или Path или TransformedPath

Задаёт контур обрезки. См. set_clip_path.

Добавлено в версии 3.8.

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

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

Примечания

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

    z1 < Z <= z2
    

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

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

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

Маскирование углов линий уровня

Маскирование углов линий уровня

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

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

Изображение с линиями уровня

Изображение с линиями уровня

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

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

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

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

Штриховка в contourf

Штриховка в contourf

Линии уровня в пространстве решений задач оптимизации

Линии уровня в пространстве решений задач оптимизации

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

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

График линий уровня для неравномерно расположенных данных

График линий уровня для неравномерно расположенных данных

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

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

Эффект контура TickedStroke

Эффект контура TickedStroke

Построение кривых уровня в 3D

Построение кривых уровня в 3D

Построение кривых уровня в 3D с параметром extend3d

Построение кривых уровня в 3D с параметром extend3d

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

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

contour(X, Y, Z)

contour(X, Y, Z)

© 2012–2026 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