matplotlib.axes.Axes.contour
-
Axes.contour(self, *args, data=None, **kwargs)[source] -
Строить контурные линии.
Вызов функции:
contour([X, Y,] Z, [levels], **kwargs)
contourиcontourfсоответственно строят контурные линии и заполненные контуры. За исключением указанных случаев, сигнатуры функций и возвращаемые значения одинаковы для обоих версий.Параметры: -
X, Y : array-like, optional -
Координаты значений в Z.
X и Y должны быть 2-мерными с одинаковой формой, что и Z (например, созданными с помощью
numpy.meshgrid), или они должны быть оба одномерными, так чтоlen(X) == M— количество столбцов в Z, аlen(Y) == N— количество строк в Z.Если не указаны, они предполагаются целыми индексами, т.е.
X = range(M),Y = range(N). -
Z : array-like(N, M) -
Значения высот, по которым строится контур.
-
levels : int or array-like, optional -
Определяет количество и позиции контурных линий/областей.
Если целое число n, использовать n интервалов данных; т.е. строить n+1 контурных линий. Уровни высоты выбираются автоматически.
Если массив, строить контурные линии по заданным уровням. Значения должны быть упорядочены по возрастанию.
Возвращаемое значение: -
c : QuadContourSet
Другие параметры: -
corner_mask : bool, optional -
Включить/отключить маскирование углов, что имеет эффект только если Z — массив с пропусками. Если
False, любой четырёхугольник, соприкасающийся с пропущенной точкой, маскируется. ЕслиTrue, только треугольные углы четырёхугольников, ближайшие к этим точкам, всегда маскируются, другие треугольные углы, состоящие из трёх не пропущенных точек, контурируются как обычно.По умолчанию
rcParams["contour.corner_mask"], которое по умолчаниюTrue. -
colors : color string or sequence of colors, optional -
Цвета уровней, т.е. линии для
contourи области дляcontourf.Последовательность циклически используется для уровней в порядке возрастания. Если последовательность короче, чем количество уровней, она повторяется.
В качестве сокращения могут использоваться одиночные строковые цвета вместо списков с одним элементом, т.е.
'red'вместо['red']для окраски всех уровней одним цветом. Это сокращение работает только для строковых цветов, а не для других способов указания цветов.По умолчанию (значение None), будет использоваться цветовая карта, указанная в cmap.
-
alpha : float, optional -
Значение альфа-смешивания, от 0 (прозрачный) до 1 (непрозрачный).
-
cmap : str or Colormap, optional -
Экземпляр
Colormapили зарегистрированное имя цветовой карты. Цветовая карта отображает значения уровня в цвета. По умолчаниюrcParams["image.cmap"].Если задано, colors имеет приоритет над cmap.
-
norm : Normalize, optional -
Если используется цветовая карта, экземпляр
Normalizeмасштабирует значения уровня до канонического диапазона цветовой карты [0, 1] для отображения в цвета. Если не задано, используется линейное масштабирование по умолчанию. -
vmin, vmax : float, optional -
Если не None, эти значения будут переданы экземпляру
Normalize, переопределяя стандартное масштабирование цвета на основе levels. -
origin : {None, 'upper', 'lower', 'image'}, optional -
Определяет ориентацию и точное положение 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"].
-
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 subclass, optional -
Локатор используется для определения контурных уровней, если они не заданы явно через levels. По умолчанию
MaxNLocator. -
extend : {'neither', 'both', 'min', 'max'}, optional, default: 'neither' -
Определяет
contourfокраску значений, которые находятся за пределами диапазона levels.Если 'neither', значения вне диапазона levels не окрашиваются. Если 'min', 'max' или 'both', окрашиваются значения ниже, выше или ниже и выше диапазона levels.
Значения ниже
min(levels)и вышеmax(levels)отображаются в значения under/over цветовой карты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 : registered units, optional -
Переопределить единицы осей, указав экземпляр
matplotlib.units.ConversionInterface. -
antialiased : bool, optional -
Включить сглаживание, переопределяя значения по умолчанию. Для заполненных контуров значение по умолчанию True. Для контурных линий оно берётся из
rcParams["lines.antialiased"]. -
Nchunk : int >= 0, optional -
Если 0, нет разделения области. Укажите положительное целое число, чтобы разделить область на поддомены размером nchunk на nchunk четырёхугольников. Разбиение на куски уменьшает максимальную длину полигонов, генерируемых алгоритмом контурирования, что снижает нагрузку на бэкенд при рендеринге и также требует немного меньше оперативной памяти. Однако это может привести к артефактам рендеринга на границах кусков в зависимости от бэкенда, флага antialiased и значения alpha.
-
linewidths : float or sequence of float, optional -
Применимо только к
contour.Ширина линии контурных линий.
Если число, все уровни будут нарисованы с этой шириной линии.
Если последовательность, уровни в порядке возрастания будут нарисованы с указанными ширинами линий.
По умолчанию
rcParams["lines.linewidth"]. -
linestyles : {None, 'solid', 'dashed', 'dashdot', 'dotted'}, optional -
Применимо только к
contour.Если linestyles — None, значение по умолчанию — 'solid', если линии не монохромные. В этом случае, отрицательные контуры возьмут стиль линии из
rcParams["contour.negative_linestyle"].linestyles также может быть итерируемым списком вышеперечисленных строк, задающих набор стилей линий, который будет использоваться. Если этот список короче, чем количество контурных уровней, он будет повторяться по мере необходимости.
-
hatches : List[str], optional -
Применимо только к
contourf.Список штрихов, которые нужно использовать для заполненных областей. Если None, к контуру не будет добавлено штрихов. Штриховка поддерживается только бэкендами PostScript, PDF, SVG и Agg.
Примечания
-
-
contourfотличается от версии MATLAB тем, что не рисует края полигонов. Чтобы нарисовать края, добавьте линии контуров с помощью вызововcontour. -
contourfзаполняет интервалы, которые закрыты сверху; другими словами, для границ z1 и z2 заполненная область:z1 < Z <= z2
за исключением самого нижнего интервала, который закрыт с обеих сторон (т.е. включает самое низкое значение).
-
Примеры использования matplotlib.axes.Axes.contour
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.axes.Axes.contour.html