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) == M— число столбцов в Z, аlen(Y) == N— число строк в Z.Если не заданы, предполагаются целочисленные индексы, т.е.
X = range(M),Y = range(N). - Z(M, N) array-like
-
Значения высот, по которым строится контур.
- levelsint или array-like, необязательно
-
Определяет количество и позиции контурных линий/областей.
Если целое число n, используется
MaxNLocator, который пытается автоматически выбрать не более n+1 «красивых» контурных уровней между vmin и vmax.Если массив, строятся контурные линии на указанных уровнях. Значения должны быть в порядке возрастания.
Возвращаемое значение:
Другие параметры: -
corner_maskbool, по умолчанию:
rcParams["contour.corner_mask"](по умолчанию:True) -
Включает/выключает маскирование углов, что влияет только если Z является массивом с масками. Если
False, любой квадрат, соприкасающийся с замаскированной точкой, будет замаскирован. ЕслиTrue, только треугольные углы квадратов, ближайших к этим точкам, всегда будут замаскированы, другие треугольные углы, состоящие из трёх незамаскированных точек, будут контурированы как обычно. - colorsстрока цвета или последовательность цветов, необязательно
-
Цвета уровней, т.е. линий для
contourи областей дляcontourf.Последовательность циклически используется для уровней в порядке возрастания. Если последовательность короче, чем количество уровней, она повторяется.
В качестве сокращения могут использоваться одиночные строковые значения цвета вместо списков из одного элемента, т.е.
'red'вместо['red']для окраски всех уровней одним цветом. Это сокращение работает только для строковых значений цвета, а не для других способов задания цветов.По умолчанию (значение None) используется цветовая карта, заданная параметром cmap.
- alphafloat, по умолчанию: 1
-
Значение альфа-смешивания, от 0 (прозрачный) до 1 (непрозрачный).
-
cmapстрока или
Colormap, по умолчанию:rcParams["image.cmap"](по умолчанию:'viridis') -
Объект
Colormapили зарегистрированное имя цветовой карты. Цветовая карта сопоставляет значения уровней с цветами.Если заданы и colors, и cmap, возникает ошибка.
-
norm
Normalize, необязательно -
Если используется цветовая карта, объект
Normalizeмасштабирует значения уровней до канонического диапазона цветовой карты [0, 1] для сопоставления с цветами. Если не задано, используется линейное масштабирование по умолчанию. - vmin, vmaxfloat, необязательно
-
Если не None, эти значения будут переданы объекту
Normalize, переопределяя масштабирование цветов по умолчанию, основанное на levels. - origin{None, 'верх', 'низ', 'изображение'}, по умолчанию: None
-
Определяет ориентацию и точное положение Z, указывая положение
Z[0, 0]. Это актуально только если не заданы X и Y.-
None:
Z[0, 0]находится в левом нижнем углу при X=0, Y=0. - 'низ':
Z[0, 0]находится в левом нижнем углу при X=0.5, Y=0.5. - 'верх':
Z[0, 0]находится в левом верхнем углу при X=N+0.5, Y=0.5. - 'изображение': Используется значение из
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{'ничего', 'все', 'мин', 'макс'}, по умолчанию: 'ничего'
-
Определяет
contourfокраску значений, которые находятся вне диапазона levels.Если 'ничего', значения вне диапазона levels не окрашиваются. Если 'мин', 'макс' или 'все', окрашиваются значения ниже, выше или ниже и выше диапазона 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). - nchunkцелое число >= 0, необязательно
-
Если 0, область не делится. Укажите положительное целое число, чтобы разделить область на поддомены размером nchunk на nchunk квадратов. Разбиение на блоки уменьшает максимальную длину полигонов, генерируемых алгоритмом контурирования, что уменьшает рабочую нагрузку отрисовки, передаваемую в бэкенд, и требует немного меньше оперативной памяти. Однако в зависимости от бэкенда, флага antialiased и значения alpha оно может вводить артефакты отрисовки на границах блоков.
-
linewidthsfloat или массив, по умолчанию:
rcParams["contour.linewidth"](по умолчанию:None) -
Применяется только к
contour.Толщина линий контура.
Если число, все уровни будут нарисованы с этой толщиной.
Если последовательность, уровни в порядке возрастания будут нарисованы с толщиной линий в указанном порядке.
Если None, это возвращается к
rcParams["lines.linewidth"](по умолчанию:1.5). - linestyles{None, 'сплошная', 'пунктирная', 'штрихпунктирная', 'точечная'}, необязательно
-
Применяется только к
contour.Если linestyles — None, по умолчанию — 'сплошная', если линии не монохромные. В этом случае отрицательные контуры возьмут стиль линии из
rcParams["contour.negative_linestyle"](по умолчанию:'dashed').linestyles также может быть итерируемым объектом вышеперечисленных строк, задающим набор стилей линий, которые будут использоваться. Если этот итерируемый объект короче, чем количество контурных уровней, он будет повторяться по мере необходимости.
- hatchesсписок[str], необязательно
-
Применяется только к
contourf.Список шаблонов штриховки для использования в заполненных областях. Если None, штриховка не будет добавлена к контуру. Штриховка поддерживается только в бэкендах PostScript, PDF, SVG и Agg.
Примечания
-
contourfотличается от версии MATLAB тем, что не рисует края полигонов. Чтобы нарисовать края, добавьте линейные контуры с помощью вызововcontour. -
contourfзаполняет интервалы, которые закрыты сверху; то есть, для границ z1 и z2, заполненная область:z1 < Z <= z2
за исключением самого нижнего интервала, который закрыт с обеих сторон (т.е. включает самое низкое значение).
-
corner_maskbool, по умолчанию:
Примеры использования matplotlib.pyplot.contour
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/_as_gen/matplotlib.pyplot.contour.html