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.
- alphaчисло, по умолчанию: 1
-
Значение альфа-смешивания, от 0 (прозрачный) до 1 (непрозрачный).
-
cmapстрока или
Colormap, по умолчанию:rcParams["image.cmap"](по умолчанию:'viridis') -
Экземпляр цветовой карты или зарегистрированное имя цветовой карты, используемое для сопоставления скалярных данных с цветами.
Этот параметр игнорируется, если задан параметр colors.
-
normстрока или
Normalize, необязательно -
Метод нормализации, используемый для масштабирования скалярных данных в диапазон [0, 1] перед отображением в цвета с помощью cmap. По умолчанию используется линейное масштабирование, отображающее наименьшее значение в 0, а наибольшее в 1.
Если задано, это может быть одно из следующих:
- Экземпляр
Normalizeили один из его подклассов (см. Нормализация цветовых карт). - Имя масштаба, например, "линейное", "логарифмическое", "симлогическое", "логическое" и т. д. Список доступных масштабов можно получить, вызвав
matplotlib.scale.get_scale_names(). В этом случае динамически генерируется и создаётся подходящий подклассNormalize.
Этот параметр игнорируется, если задан параметр colors.
- Экземпляр
- vmin, vmaxчисло, необязательно
-
При использовании скалярных данных и отсутствии явного параметра norm, vmin и vmax определяют диапазон данных, охватываемый цветовой картой. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Использование vmin/vmax при задании экземпляра norm является ошибкой (но использование имени norm в виде строки вместе с vmin/vmax допустимо).
Если vmin или vmax не заданы, масштабирование цветов по умолчанию основано на levels.
Этот параметр игнорируется, если задан параметр colors.
- origin{None, 'верхний', 'нижний', 'изображение'}, по умолчанию: 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"](по умолчанию:'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"](по умолчанию:True). - nchunkint ≥ 0, необязательно
-
Если 0, область не разбивается. Укажите положительное целое число, чтобы разбить область на поддомены размером nchunk на nchunk четвертей. Разбиение на куски уменьшает максимальную длину полигонов, генерируемых алгоритмом контурирования, что уменьшает рабочую нагрузку отрисовки, передаваемую в бэкенд, а также требует немного меньше оперативной памяти. Однако это может привести к артефактам рендеринга на границах кусков в зависимости от бэкенда, флага antialiased и значения alpha.
-
linewidthsчисло или массив, по умолчанию:
rcParams["contour.linewidth"](по умолчанию:None) -
Применимо только к
contour.Толщина линий контура.
Если число, все уровни будут нарисованы с этой шириной.
Если последовательность, уровни в порядке возрастания будут нарисованы с ширинами в указанном порядке.
Если None, это возвращается к
rcParams["lines.linewidth"](по умолчанию:1.5). - linestyles{None, 'сплошная', 'пунктирная', 'штрихпунктирная', 'штриховая'}, необязательно
-
Применимо только к
contour.Если linestyles — None, по умолчанию 'сплошная', если линии не монохромные. В этом случае отрицательные контуры вместо этого получат стиль линии из аргумента negative_linestyles.
linestyles также может быть итерируемым объектом из вышеперечисленных строк, задающим набор стилей линий, которые будут использоваться. Если этот итерируемый объект короче, чем количество уровней контура, он будет повторяться по необходимости.
- negative_linestyles{None, 'сплошная', 'пунктирная', 'штрихпунктирная', 'штриховая'}, необязательно
-
Применимо только к
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'). -
clip_path
PatchилиPathилиTransformedPath -
Установите область обрезки. См.
set_clip_path.Введено в версии 3.8.
- 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.8.4/api/_as_gen/matplotlib.axes.Axes.contour.html