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) массив
-
Значения высот, по которым строится контур. Отображение цветов контролируется параметрами cmap, norm, vmin и vmax.
- 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') -
Объект цветовой карты или зарегистрированное имя цветовой карты, используемое для сопоставления скалярных данных с цветами.
Этот параметр игнорируется, если задан 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"](по умолчанию:'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
-
Включить сглаживание, переопределяя значения по умолчанию. Для заполненных контуров значение по умолчанию равно True. Для линейных контуров оно взято из
rcParams["lines.antialiased"](по умолчанию: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', если линии монохромные. В противном случае отрицательные контуры получат стиль линии из аргумента negative_linestyles.
linestyles также может быть итерируемым объектом с указанными выше строками, задающим набор стилей линий, которые будут использоваться. Если этот итерируемый объект короче количества уровней контура, он будет повторяться по мере необходимости.
- negative_linestyles{None, 'solid', 'dashed', 'dashdot', 'dotted'}, optional
-
Применяется только к
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'). - dataиндексируемый объект, необязательно
-
Если задан, все параметры также принимают строку
s, которая интерпретируется какdata[s](если это не вызывает исключения).
-
Примечания
-
contourfотличается от версии MATLAB тем, что не рисует края полигонов. Чтобы нарисовать края, добавьте контурные линии с вызовамиcontour. -
contourfзаполняет интервалы, которые закрыты сверху; то есть, для границ z1 и z2, заполненная область имеет вид:z1 < Z <= z2
за исключением самого нижнего интервала, который закрыт с обеих сторон (т.е. включает наименьшее значение).
-
contourиcontourfиспользуют алгоритм «марширующих квадратов» для вычисления расположения контуров. Дополнительную информацию можно найти в документации ContourPy.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.pyplot.contourf.html