matplotlib.axes.Axes.contour
- Axes.contour(*args, data=None, **kwargs)[source]
-
Построение контурных линий.
Вызов:
contour([X, Y,] Z, [levels], **kwargs)
contourиcontourfрисуют контурные линии и заполненные контуры соответственно. За исключением указанных случаев, сигнатуры функций и возвращаемые значения одинаковы для обеих версий.- Параметры
-
- X, Yмассив-подобный объект, необязательно
-
Координаты значений в Z.
X и Y должны быть оба 2D с такой же формой, что и Z (например, созданные с помощью
numpy.meshgrid), или они оба должны быть 1D, так чтоlen(X) == Nявляется количеством столбцов в Z, аlen(Y) == Mявляется количеством строк в Z.X и Y должны быть упорядочены монотонно.
Если не заданы, предполагается, что они являются целочисленными индексами, т.е.
X = range(N),Y = range(M). - Z(M, N) массив-подобный объект
-
Значения высот, по которым строится контур.
- levelsцелое число или массив-подобный объект, необязательно
-
Определяет количество и позиции контурных линий / областей.
Если целое число 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') -
Экземпляр
Colormapили зарегистрированное имя цветовой карты. Цветовая карта сопоставляет значения уровня с цветами.Если заданы и colors и cmap, произойдёт ошибка.
-
norm
Normalize, optional -
Если используется цветовая карта, экземпляр
Normalizeмасштабирует значения уровня до стандартного диапазона цветовой карты [0, 1] для сопоставления с цветами. Если не задано, используется стандартное линейное масштабирование. - vmin, vmaxfloat, optional
-
Если не None, эти значения будут переданы экземпляру
Normalize, переопределяя стандартное масштабирование цветов на основе levels. - 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').
-
None:
- 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, optional
-
Локатор используется для определения уровней контура, если они не заданы явно через 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', за исключением случаев монохромных линий. В этом случае отрицательные контуры будут использовать стиль линии из
rcParams["contour.negative_linestyle"](default:'dashed').linestyles также может быть итерируемым списком вышеуказанных строк, определяющих набор стилей линий, которые будут использоваться. Если этот список короче, чем количество уровней контура, он будет повторяться по необходимости.
- hatchesсписок[строка], optional
-
Только применимо к
contourf.Список шаблонов штриховки для заполненных областей. Если None, штриховка не будет добавлена к контуру. Штриховка поддерживается только в бэкендах PostScript, PDF, SVG и Agg.
- dataиндексируемый объект, необязательно
-
Если задан, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызовет исключение).
-
corner_maskbool, default:
Примечания
-
contourfотличается от версии MATLAB тем, что не рисует края полигонов. Чтобы нарисовать края, добавьте контуры линий с помощью вызововcontour. -
contourfзаполняет интервалы, которые закрыты сверху; то есть для границ z1 и z2 заполненная область:z1 < Z <= z2
за исключением самого нижнего интервала, который закрыт с обеих сторон (т.е. включает самое низкое значение).
-
contourиcontourfиспользуют алгоритм marching squares для вычисления положений контура. Дополнительную информацию можно найти в исходном кодеsrc/_contour.h.
-
Примеры использования matplotlib.axes.Axes.contour
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/_as_gen/matplotlib.axes.Axes.contour.html