matplotlib.pyplot.contour
- matplotlib.pyplot.contour(*args, data=None, **kwargs)[source]
-
Построение контурных линий.
Вызов:
contour([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.Если array-like, строить контурные линии на указанных уровнях. Значения должны быть в возрастающем порядке.
- Возвращает
-
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"](по умолчанию:'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
-
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 или массив, по умолчанию:
rcParams["contour.linewidth"](по умолчанию:None) -
Применимо только к
contour.Ширина линии контурных линий.
Если число, все уровни будут нарисованы с этой шириной.
Если последовательность, уровни в порядке возрастания будут нарисованы с ширинами, указанными в порядке.
Если None, используется значение по умолчанию
rcParams["lines.linewidth"](по умолчанию:1.5). - linestyles{None, 'solid', 'dashed', 'dashdot', 'dotted'}, optional
-
Применимо только к
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.pyplot.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.pyplot.contour.html