Spec-Zone.ru › Matplotlib 3.6

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

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

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

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

Возвращает:
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 (непрозрачный).

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

Включить сглаживание, переопределяя значения по умолчанию. Для заполненных контуров значение по умолчанию — True. Для линий контура оно берётся из 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список[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.pyplot.contour

Interactive functions

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

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

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

Spec-Zone.ru

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