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
-
Значения высот, по которым строится контур. Отображение цветов контролируется параметрами 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, 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, optional
-
При использовании скалярных данных и отсутствии явного norm, vmin и vmax определяют диапазон данных, который охватывает цветовая карта. По умолчанию цветовая карта охватывает весь диапазон значений предоставленных данных. Использование vmin/vmax при заданном экземпляре norm является ошибкой (но использование строки norm вместе с 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'
-
Определяет
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"](default: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список[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используют алгоритм «марширующих квадратов» для вычисления расположения контуров. Более подробная информация содержится в документации ContourPy.
Примеры использования matplotlib.pyplot.contour
© 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.contour.html