matplotlib.axes.Axes.contourf
- Axes.contourf(*args, data=None, **kwargs)[source]
-
Отображение заполненных контуров.
Вызов с сигнатурой:
contourf([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
-
Значения высот, по которым рисуется контур.
- 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, по умолчанию:rcParams["image.cmap"](по умолчанию:'viridis') -
Экземпляр
Colormapили зарегистрированное имя цветовой карты. Цветовая карта сопоставляет значения уровней с цветами.Если заданы и colors, и cmap, возникает ошибка.
-
norm
Normalize, необязательно -
Если используется цветовая карта, экземпляр
Normalizeмасштабирует значения уровней до стандартного диапазона цветовой карты [0, 1] для сопоставления с цветами. Если не задано, используется стандартное линейное масштабирование. - vmin, vmaxfloat, необязательно
-
Если не None, одно или оба этих значения будут переданы экземпляру
Normalize, переопределяя стандартное масштабирование цвета на основе levels. - 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').
-
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{'neither', 'both', 'min', 'max'}, по умолчанию: '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, необязательно
-
Включить сглаживание, переопределив значения по умолчанию. Для заполненных контуров значение по умолчанию — True. Для линейных контуров оно взято из
rcParams["lines.antialiased"](по умолчанию:True). - nchunkint >= 0, необязательно
-
Если 0, домен не разбивается. Укажите положительное целое число, чтобы разделить домен на поддомены размером nchunk на nchunk квадратов. Разбиение уменьшает максимальную длину полигонов, генерируемых алгоритмом контурного построения, что снижает нагрузку на бэкэнд и требует немного меньше ОЗУ. Однако в зависимости от бэкэнда, флага antialiased и значения alpha могут возникнуть артефакты рендеринга на границах разбиения.
-
linewidthsfloat или массив, по умолчанию:
rcParams["contour.linewidth"](по умолчанию:None) -
Только для
contour.Ширина линии контуров.
Если число, все уровни будут нарисованы с этой шириной.
Если последовательность, уровни в порядке возрастания будут нарисованы с указанными ширинами.
Если None, возвращается к
rcParams["lines.linewidth"](по умолчанию:1.5). - linestyles{None, 'solid', 'dashed', 'dashdot', 'dotted'}, необязательно
-
Только для
contour.Если linestyles равно None, по умолчанию используется 'solid', если линии не монохромные. В этом случае негативные контуры будут брать стиль линии из
rcParams["contour.negative_linestyle"](по умолчанию:'dashed').linestyles также может быть итерируемым объектом указанных выше строк, задающим набор стилей линий. Если этот итерируемый объект короче, чем количество уровней контура, он будет повторяться по мере необходимости.
- hatchesсписок[строка], необязательно
-
Только для
contourf.Список узоров штриховки для использования в заполненных областях. Если None, штриховка не будет добавлена к контуру. Штриховка поддерживается только в PostScript, PDF, SVG и Agg бэкендах.
- dataиндексируемый объект, необязательно
-
Если задано, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключение).
-
corner_maskbool, default:
Примечания
-
-
contourfотличается от версии MATLAB тем, что не рисует края полигонов. Чтобы нарисовать края, добавьте линии контуров с помощью вызоваcontour. -
contourfзаполняет интервалы, закрытые сверху; то есть для границ z1 и z2 заполненная область:z1 < Z <= z2
за исключением самого нижнего интервала, который закрыт с обеих сторон (т.е. включает минимальное значение).
-
contourиcontourfиспользуют алгоритм «марширующих квадратов» для вычисления положений контуров. Более подробную информацию можно найти в исходном кодеsrc/_contour.h.
-
Примеры использования matplotlib.axes.Axes.contourf
© 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.contourf.html