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 "красивых" уровней контура между минимальным и максимальным числовыми значениями 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 (непрозрачный).
-
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, необязательно
-
При использовании скалярных данных и отсутствии явного norm, vmin и vmax определяют диапазон данных, который покрывается цветовой картой. По умолчанию цветовая карта покрывает весь диапазон значений предоставленных данных. Нельзя использовать vmin/vmax, если задан экземпляр norm (но допустимо использование строки norm вместе с vmin/vmax).
Если vmin или vmax не заданы, масштабирование цветов по умолчанию основано на levels.
Этот параметр игнорируется, если задан colors.
- origin{None, 'верх', 'низ', 'изображение'}, default: None
-
Определяет ориентацию и точное положение Z, задавая положение
Z[0, 0]. Это актуально только если X, Y не заданы.-
None:
Z[0, 0]находится в левом нижнем углу при X=0, Y=0. - 'низ':
Z[0, 0]находится в левом нижнем углу при X=0.5, Y=0.5. - 'верх':
Z[0, 0]находится в левом верхнем углу при X=N+0.5, Y=0.5. - 'изображение': Используется значение из
rcParams["image.origin"](default:'upper').
-
None:
- 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{'ничего', 'оба', 'мин', 'макс'}, по умолчанию: 'ничего'
-
Определяет
contourfокраску значений, которые находятся вне диапазона levels.Если 'ничего', значения вне диапазона levels не окрашиваются. Если 'мин', 'макс' или 'оба', окрашивают значения ниже, выше или ниже и выше диапазона 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, необязательно
-
Включить сглаживание, переопределяя значения по умолчанию. Для заполненных контуров значение по умолчанию — False. Для линий контура оно берётся из
rcParams["lines.antialiased"](default:True). - nchunkint >= 0, необязательно
-
Если 0, область не подразделяется. Укажите положительное целое число для деления области на поддомены размером nchunk на nchunk четырёхугольников. Деление на блоки уменьшает максимальную длину полигонов, генерируемых алгоритмом контурирования, что уменьшает нагрузку на бэкенд и потребление памяти. Однако, в зависимости от бэкенда, флага antialiased и значения alpha, оно может вносить артефакты в отрисовке на границах блоков.
-
linewidthsfloat или массив, по умолчанию:
rcParams["contour.linewidth"](default:None) -
Применимо только к
contour.Ширина линии контурных линий.
Если число, все уровни будут отображаться с этой шириной.
Если последовательность, уровни в порядке возрастания будут отображаться с шириной, указанной в указанном порядке.
Если None, используется значение по умолчанию
rcParams["lines.linewidth"](default:1.5). - linestyles{None, 'сплошная', 'штриховая', 'штрихпунктирная', 'пунктирная'}, необязательно
-
Применимо только к
contour.Если linestyles равно None, значение по умолчанию — 'сплошная', если линии не монохромные. В противном случае для отрицательных контуров будет использоваться стиль линии из аргумента negative_linestyles.
linestyles также может быть итерируемым списком вышеперечисленных строк, задавая набор стилей линий для использования. Если этот итерируемый список короче, чем количество уровней контуров, он будет повторяться по мере необходимости.
- negative_linestyles{None, 'solid', 'dashed', 'dashdot', 'dotted'}, optional
-
Применимо только к
contour.Если linestyles равно None и линии монохромные, этот аргумент указывает стиль линии для отрицательных контуров.
Если negative_linestyles равно None, значение по умолчанию берётся из
rcParams["contour.negative_linestyles"].negative_linestyles также может быть итерируемым списком вышеперечисленных строк, задавая набор стилей линий для использования. Если этот итерируемый список короче, чем количество уровней контуров, он будет повторяться по мере необходимости.
- hatchesсписок[строка], необязательно
-
corner_maskbool, default:
-
-
Только для
contourf.Список шаблонов штриховки для заполненных областей. Если None, штриховка не будет добавлена к контуру. Штриховка поддерживается только в PostScript, PDF, SVG и Agg-бекендах.
- algorithm{'mpl2005', 'mpl2014', 'serial', 'threaded'}, optional
-
Алгоритм контуринга для вычисления линий и полигонов контура. Алгоритмы реализованы в ContourPy, для получения дополнительной информации обратитесь к документации ContourPy.
Значение по умолчанию взято из
rcParams["contour.algorithm"](по умолчанию:'mpl2014'). - dataиндексируемый объект, необязательно
-
Если задано, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение).
-
Примечания
-
contourfотличается от версии MATLAB тем, что не рисует края полигонов. Для рисования краёв добавьте линии контуров с помощью вызововcontour. -
contourfзаполняет интервалы, которые закрыты сверху; то есть, для границ z1 и z2, заполненная область:z1 < Z <= z2
за исключением самого нижнего интервала, который закрыт с обеих сторон (т. е. он включает самое низкое значение).
-
contourиcontourfиспользуют алгоритм «марширующих квадратов» для вычисления расположения контуров. Дополнительную информацию можно найти в документации ContourPy.
Примеры использования matplotlib.axes.Axes.contour
Смешивание прозрачности с цветом на 2D-изображениях
Диаграмма контуров неравномерно расположенных данных
Построение кривых контура (уровня) в 3D с использованием параметра extend3d
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/_as_gen/matplotlib.axes.Axes.contour.html