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
-
Значения высот, по которым строится контур. Отображение цвета управляется параметрами cmap, norm, vmin и vmax.
- levelsint или array-like, необязательно
-
Определяет количество и положение линий/областей контура.
Если целое число n, используйте
MaxNLocator, который пытается автоматически выбрать не более n+1 «хороших» уровней контура между минимальным и максимальным численным значениями Z.Если массив, рисуйте линии контура на указанных уровнях. Значения должны быть в порядке возрастания.
- Возвращаемые значения:
-
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, '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"](по умолчанию:'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, необязательно
-
Локатор используется для определения уровней контура, если они не заданы явно через 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
-
Включить сглаживание, переопределяя значения по умолчанию. Для заполненных контуров значение по умолчанию False. Для контуров линий оно берется из
rcParams["lines.antialiased"](по умолчанию:True). - nchunkint >= 0, optional
-
Если 0, разбиение области не выполняется. Укажите положительное целое число, чтобы разделить область на поддомены размером nchunk на nchunk четырехугольников. Разбиение уменьшает максимальную длину полигонов, генерируемых алгоритмом контуров, что уменьшает нагрузку на отрисовку, передаваемую бэкенду, а также требует немного меньше оперативной памяти. Однако оно может привести к артефактам отрисовки на границах разбиения в зависимости от бэкенда, флага antialiased и значения alpha.
-
linewidthsfloat или массив, default:
rcParams["contour.linewidth"](default:None) -
Применимо только к
contour.Ширина линий контура.
Если число, все уровни будут нарисованы с этой шириной.
Если последовательность, уровни в порядке возрастания будут нарисованы с ширинами, указанными в этом порядке.
Если None, это обращается к значению
rcParams["lines.linewidth"](по умолчанию: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 также может быть итерируемым объектом из вышеперечисленных строк, определяющих набор стилей линий для использования. Если этот итерируемый объект короче, чем количество уровней контура, он будет повторяться по мере необходимости.
- hatcheslist[str], optional
-
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.contourf
Контурный график неравномерно расположенных данных
© 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.contourf.html