matplotlib.pyplot.contourf
- matplotlib.pyplot.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
strвместе с 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"](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, необязательно
-
Локатор используется для определения контурных уровней, если они не заданы явно через levels. По умолчанию
MaxNLocator. - extend{'neither', 'both', 'min', 'max'}, default: 'neither'
-
Определяет окраску значений, которые находятся за пределами диапазона levels.
Если 'neither', значения вне диапазона levels не окрашиваются. Если 'min', 'max' или 'both', окрашивать значения ниже, выше или ниже и выше диапазона levels.
Значения ниже
min(levels)и вышеmax(levels)сопоставляются с значениями под/над цветовой картойColormap. Обратите внимание, что большинство цветовых карт по умолчанию не имеют выделенных цветов для этих значений, так что значения over и under являются крайними значениями цветовой карты. Вы можете явно задать эти значения, используя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"](default:True). - nchunkint >= 0, optional
-
Если 0, нет разбиения области. Укажите положительное целое число, чтобы разбить область на поддомены размером nchunk на nchunk квадрантов. Разбиение уменьшает максимальную длину полигонов, генерируемых алгоритмом контурирования, что уменьшает объём работы отрисовки, переданной в бэкэнд, а также требует немного меньше ОЗУ. Однако это может привести к артефактам отрисовки на границах разбиения в зависимости от бэкэнда, флага antialiased и значения alpha.
-
linewidthsfloat или массив, по умолчанию:
rcParams["contour.linewidth"](default:None) -
Применимо только к
contour.Ширина линий контуров.
Если число, все уровни будут нарисованы с этой шириной.
Если последовательность, уровни в порядке возрастания будут нарисованы с ширинами, указанными в том же порядке.
Если None, возвращается к
rcParams["lines.linewidth"](default: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используют алгоритм "marching squares" для вычисления расположения контуров. Дополнительную информацию можно найти в документации ContourPy.
Примеры использования matplotlib.pyplot.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.pyplot.contourf.html