matplotlib.contour
Классы для поддержки построения контурных графиков и маркировки для класса Axes.
- classmatplotlib.contour.ClabelText(x=0, y=0, text='', *, color=None, verticalalignment='baseline', horizontalalignment='left', multialignment=None, fontproperties=None, rotation=None, linespacing=None, rotation_mode=None, usetex=None, wrap=False, transform_rotates_text=False, parse_math=None, **kwargs)[source]
-
Базовый класс:
TextВ отличие от обычного текста, get_rotation возвращает обновленный угол в пиксельных координатах, предполагая, что входной угол — это угол в координатах данных (или любом установленном преобразовании).
Создаёт экземпляр
Textв точке x, y со строкой text.Текст выравнивается относительно точки привязки (x, y) в соответствии с
horizontalalignment(по умолчанию: 'слева') иverticalalignment(по умолчанию: 'снизу'). См. также Выравнивание текста.Хотя Text принимает ключевое слово 'label', по умолчанию оно не добавляется в легенду.
Допустимые ключевые аргументы:
Свойство
Описание
функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, и возвращает массив чисел с плавающей точкой (m, n, 3) и два смещения от нижнего левого угла изображения
скаляр или None
булево значение
цвет
словарь с свойствами для
patches.FancyBboxPatchнеизвестно
неизвестно
неизвестно
colorили cцвет
fontfamilyили family{НАЗВАНИЕ_ШРИФТА, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
fontpropertiesили font или font_propertiesfontsizeили sizeчисло с плавающей точкой или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
fontstretchили stretch{числовое значение в диапазоне 0-1000, 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}
fontstyleили style{'normal', 'italic', 'oblique'}
fontvariantили variant{'normal', 'small-caps'}
fontweightили weight{числовое значение в диапазоне 0-1000, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}
строка
horizontalalignmentили ha{'left', 'center', 'right'}
булево значение
объект
число с плавающей точкой (кратное размеру шрифта)
строка
булево значение
multialignmentили ma{'left', 'right', 'center'}
булево значение
None или булево значение или число с плавающей точкой или вызываемая функция
(число с плавающей точкой, число с плавающей точкой)
булево значение
число с плавающей точкой или {'vertical', 'horizontal'}
{None, 'default', 'anchor'}
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
булево значение или None
объект
булево значение
строка
булево значение или None
verticalalignmentили va{'bottom', 'baseline', 'center', 'center_baseline', 'top'}
булево значение
булево значение
число с плавающей точкой
вещественное число
вещественное число
- get_rotation()[source]
-
Возвращает угол текста в градусах в диапазоне от 0 до 360.
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, backgroundcolor=<UNSET>, bbox=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, fontfamily=<UNSET>, fontproperties=<UNSET>, fontsize=<UNSET>, fontstretch=<UNSET>, fontstyle=<UNSET>, fontvariant=<UNSET>, fontweight=<UNSET>, gid=<UNSET>, horizontalalignment=<UNSET>, in_layout=<UNSET>, label=<UNSET>, linespacing=<UNSET>, math_fontfamily=<UNSET>, mouseover=<UNSET>, multialignment=<UNSET>, parse_math=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, position=<UNSET>, rasterized=<UNSET>, rotation=<UNSET>, rotation_mode=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, text=<UNSET>, transform=<UNSET>, transform_rotates_text=<UNSET>, url=<UNSET>, usetex=<UNSET>, verticalalignment=<UNSET>, visible=<UNSET>, wrap=<UNSET>, x=<UNSET>, y=<UNSET>, zorder=<UNSET>)[source]
-
Установка нескольких свойств сразу.
Поддерживаемые свойства
Свойство
Описание
функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, а возвращает массив чисел с плавающей точкой (m, n, 3) и два смещения от нижнего левого угла изображения
скаляр или None
bool
цвет
словарь свойств для
patches.FancyBboxPatchbool
Объект Patch или (Path, Transform) или None
colorили cцвет
fontfamilyили family{имя_шрифта, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
fontpropertiesили font или font_propertiesfontsizeили sizeчисло с плавающей точкой или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
fontstretchили stretch{числовое значение в диапазоне 0-1000, 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}
fontstyleили style{'normal', 'italic', 'oblique'}
fontvariantили variant{'normal', 'small-caps'}
fontweightили weight{числовое значение в диапазоне 0-1000, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}
строка
horizontalalignmentили ha{'left', 'center', 'right'}
bool
объект
число с плавающей точкой (кратное размеру шрифта)
строка
bool
multialignmentили ma{'left', 'right', 'center'}
bool
None или bool или число с плавающей точкой или вызываемая функция
(число с плавающей точкой, число с плавающей точкой)
bool
число с плавающей точкой или {'vertical', 'horizontal'}
{None, 'default', 'anchor'}
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
bool или None
объект
bool
строка
bool или None
verticalalignmentили va{'bottom', 'baseline', 'center', 'center_baseline', 'top'}
bool
bool
- classmatplotlib.contour.ContourLabeler[source]
-
Bases:
objectКомпонент для добавления меток к контурным линиям
ContourSet.- add_label(x, y, rotation, lev, cvalue)[source]
-
Добавляет метку контура, используя класс
Text.
- add_label_clabeltext(x, y, rotation, lev, cvalue)[source]
-
Добавляет метку контура, используя класс
ClabelText.
- add_label_near(x, y, inline=True, inline_spacing=5, transform=None)[source]
-
Добавляет метку вблизи точки
(x, y).- Параметры:
-
- x, yчисло с плавающей точкой
-
Приблизительное расположение метки.
- inlineбулево значение, по умолчанию: True
-
Если True, удаляет часть контура под меткой.
- inline_spacingцелое число, по умолчанию: 5
-
Расстояние в пикселях, оставляемое по обе стороны от метки при размещении в ряд. Это расстояние будет точным для меток в местах, где контур прямой, и менее точным для меток на криволинейных контурах.
-
transform
TransformилиFalse, по умолчанию:self.axes.transData -
Преобразование, применяемое к
(x, y)перед маркировкой. Значение по умолчанию приводит к интерпретации(x, y)как координат данных.Falseявляется синонимом дляIdentityTransform; т.е.(x, y)следует интерпретировать как координаты экрана.
- calc_label_rot_and_inline(slc, ind, lw, lc=None, spacing=5)[source]
-
Вычисляет оптимальный угол поворота метки, учитывая координаты линий контура в экранных единицах, индекс расположения метки и ширину метки.
Если lc не равно None или пусто, также разрывает контуры и вычисляет встраивание.
spacing — пустое пространство вокруг метки в пикселях.
Обе задачи выполняются вместе, чтобы избежать многократного вычисления длин путей контура, что относительно дорого.
Используемый здесь метод включает вычисление длины пути вдоль контура в координатах пикселей, а затем приблизительное смещение (ширина метки / 2) от центральной точки для определения угла поворота и, при необходимости, разрыва контура.
- clabel(levels=None, *, fontsize=None, inline=True, inline_spacing=5, fmt=None, colors=None, use_clabeltext=False, manual=False, rightside_up=True, zorder=None)[source]
-
Подписывает контурный график.
Добавляет метки к линиям контура в этом
ContourSet(который наследуется от этого класса-микстина).- Параметры:
-
- levelsмассив-подобный объект, необязательно
-
Список значений уровней, которые должны быть подписаны. Список должен быть подмножеством
cs.levels. Если не указан, все уровни будут подписаны. -
fontsizeстрока или число с плавающей запятой, по умолчанию:
rcParams["font.size"](по умолчанию:10.0) -
Размер в пунктах или относительный размер, например, 'smaller', 'x-large'. Смотрите
Text.set_sizeдля допустимых строковых значений. - colorsцвет или цвета или None, по умолчанию: None
-
Цвета меток:
- Если None, цвет каждой метки совпадает с цветом соответствующего контура.
- Если одна строковая переменная цвета, например, colors = 'r' или colors = 'red', все метки будут отображаться в этом цвете.
- Если кортеж цветов (строка, число с плавающей запятой, RGB и т. д.), разные метки будут отображаться в разных цветах в указанном порядке.
- inlinebool, по умолчанию: True
-
Если
Trueподлежащий контур удаляется там, где размещается метка. - inline_spacingчисло с плавающей запятой, по умолчанию: 5
-
Расстояние в пикселях, которое необходимо оставить по обеим сторонам метки при размещении inline.
Это расстояние будет точным для меток в местах, где контур прямой, менее точным для меток на криволинейных контурах.
-
fmt
Formatterили строка или вызываемый объект или словарь, необязательно -
Как форматируются уровни:
- Если
Formatter, он используется для форматирования всех уровней сразу, используя методFormatter.format_ticks. - Если строка, она интерпретируется как строка форматирования в стиле %.
- Если вызываемый объект, он вызывается с одним уровнем за раз и должен возвращать соответствующую метку.
- Если словарь, он должен напрямую сопоставлять уровни с метками.
По умолчанию используется стандартный
ScalarFormatter. - Если
- manualbool или итерируемый объект, по умолчанию: False
-
Если
True, метки контура будут размещаться вручную с помощью щелчков мыши. Щелкните первую кнопку рядом с контуром, чтобы добавить метку, щелкните вторую кнопку (или, возможно, обе кнопки мыши одновременно), чтобы закончить добавление меток. Третья кнопка может использоваться для удаления последней добавленной метки, но только если метки не расположены inline. В качестве альтернативы, можно использовать клавиатуру для выбора расположения меток (enter для завершения размещения меток, delete или backspace действуют как третья кнопка мыши, а любая другая клавиша выберет расположение метки).manual также может быть итерируемым объектом кортежей (x, y). Метки контура будут созданы так, как если бы по каждой позиции (x, y) был нажата мышь.
- rightside_upbool, по умолчанию: True
-
Если
True, повороты меток всегда будут плюс или минус 90 градусов от уровня. - use_clabeltextbool, по умолчанию: False
-
Если
True, используется классClabelText(вместоText) для создания меток.ClabelTextпересчитывает углы поворота текстов во время рисования, поэтому это можно использовать, если изменяется аспект осей. -
zorderчисло с плавающей запятой или None, по умолчанию:
(2 + contour.get_zorder()) -
zorder меток контура.
- Возвращает:
-
- labels
-
Список экземпляров
Textдля меток.
- get_label_width(lev, fmt, fsize)[source]
-
[Устарело] Возвращает ширину метки в пунктах.
Примечания
Устарело начиная с версии 3.5.
- get_text(lev, fmt)[source]
-
Возвращает текст метки.
- labels(inline, inline_spacing)[source]
- locate_label(linecontour, labelwidth)[source]
-
Находит подходящее место для рисования метки (относительно плоская часть контура).
- pop_label(index=-1)[source]
-
По умолчанию удаляет последнюю метку, но можно указать любой индекс
- print_label(linecontour, labelwidth)[source]
-
Возвращает, достаточно ли длинный контур для размещения метки.
- set_label_props(label, text, color)[source]
-
Устанавливает свойства метки - цвет, размер шрифта, текст.
- too_close(x, y, lw)[source]
-
Возвращает, находится ли метка уже рядом с этим местоположением.
- classmatplotlib.contour.ContourSet(ax, *args, levels=None, filled=False, linewidths=None, linestyles=None, hatches=(None,), alpha=None, origin=None, extent=None, cmap=None, colors=None, norm=None, vmin=None, vmax=None, extend='neither', antialiased=None, nchunk=0, locator=None, transform=None, negative_linestyles=None, **kwargs)[source]
-
Основы:
ScalarMappable,ContourLabelerХранение набора контурных линий или заполненных областей.
Метод, вызываемый пользователем:
clabel- Параметры:
-
-
ax
Axes - levels[level0, level1, ..., leveln]
-
Список чисел с плавающей точкой, указывающих уровни контура.
- allsegs[level0segs, level1segs, ...]
-
Список всех сегментов многоугольников для всех уровней. Для контурных линий
len(allsegs) == len(levels), а для заполненных контурных областейlen(allsegs) = len(levels)-1. Списки должны выглядеть такlevel0segs = [polygon0, polygon1, ...] polygon0 = [[x0, y0], [x1, y1], ...]
-
allkinds
Noneили [level0kinds, level1kinds, ...] -
Необязательный список всех типов вершин многоугольника (кодовые типы), как описано и используется в Path. Это используется для разрешения многосвязных путей, таких как отверстия внутри заполненных многоугольников. Если не
None,len(allkinds) == len(allsegs). Списки должны выглядеть такlevel0kinds = [polygon0kinds, ...] polygon0kinds = [vertexcode0, vertexcode1, ...]
Если allkinds не
None, обычно все многоугольники для определенного уровня контура группируются вместе, так чтоlevel0segs = [polygon0]иlevel0kinds = [polygon0kinds]. - **kwargs
-
Ключевые аргументы описаны в документации к
contour.
-
ax
- Атрибуты:
-
-
ax
Axes -
Объект Axes, в котором нарисованы контуры.
-
collections
silent_listизPathCollection -
Объекты
Artist, представляющие контур. Это списокPathCollectionкак для линий, так и для заполненных контуров. - levelsмассив
-
Значения уровней контура.
- layersмассив
-
То же, что и levels для контурных линий; середина между уровнями для заполненных контуров. См.
ContourSet._process_colors.
-
ax
Отрисовка контурных линий или заполненных областей в зависимости от того, является ли ключевой аргумент filled
False(по умолчанию) илиTrue.Вызов:
ContourSet(ax, levels, allsegs, [allkinds], **kwargs)
- Параметры:
-
-
ax
Axes -
Объект
Axesдля отрисовки. - levels[level0, level1, ..., leveln]
-
Список чисел с плавающей точкой, указывающих уровни контура.
- allsegs[level0segs, level1segs, ...]
-
Список всех сегментов многоугольников для всех уровней. Для контурных линий
len(allsegs) == len(levels), а для заполненных контурных областейlen(allsegs) = len(levels)-1. Списки должны выглядеть такlevel0segs = [polygon0, polygon1, ...] polygon0 = [[x0, y0], [x1, y1], ...]
- allkinds[level0kinds, level1kinds, ...], необязательно
-
Необязательный список всех типов вершин многоугольника (кодовые типы), как описано и используется в Path. Это используется для разрешения многосвязных путей, таких как отверстия внутри заполненных многоугольников. Если не
None,len(allkinds) == len(allsegs). Списки должны выглядеть такlevel0kinds = [polygon0kinds, ...] polygon0kinds = [vertexcode0, vertexcode1, ...]
Если allkinds не
None, обычно все многоугольники для определенного уровня контура группируются вместе, так чтоlevel0segs = [polygon0]иlevel0kinds = [polygon0kinds]. - **kwargs
-
Ключевые аргументы описаны в документации к
contour.
-
ax
- changed()[source]
-
Вызовите эту функцию всякий раз, когда изменяется отображаемый объект, чтобы оповестить всех слушателей обратного вызова SM о сигнале 'changed'.
- find_nearest_contour(x, y, indices=None, pixel=True)[source]
-
Найти точку на графике контура, ближайшую к
(x, y).Этот метод не поддерживает заполненные контуры.
- Параметры:
-
- x, yfloat
-
Точка отсчета.
- indicesсписок целых чисел или None, по умолчанию: None
-
Индексы уровней контура, которые следует учитывать. Если None (по умолчанию), рассматриваются все уровни.
- pixelbool, по умолчанию: True
-
Если True, расстояние измеряется в пикселях (на экране), что полезно для ручного маркирования контуров; в противном случае расстояние измеряется в пространстве осей.
- Возвращает:
-
-
contour
Collection -
Контур, ближайший к
(x, y). - segmentint
-
Индекс
Pathв contour, ближайший к(x, y). - indexint
-
Индекс сегмента пути в segment, ближайший к
(x, y). - xmin, yminfloat
-
Точка на графике контура, ближайшая к
(x, y). - d2float
-
Квадрат расстояния от
(xmin, ymin)до(x, y).
-
contour
- get_alpha()[source]
-
Возвращает альфа-значение, применяемое ко всем объектам ContourSet.
- get_transform()[source]
-
Возвращает экземпляр
Transform, используемый этим ContourSet.
- legend_elements(variable_name='x', str_format=<class 'str'>)[source]
-
Возвращает список элементов и подписей, подходящих для передачи в
legend, которые представляют этот ContourSet.Подписи имеют вид "0 < x <= 1", указывающий диапазоны данных, которые представляют элементы.
- Параметры:
-
- variable_namestr
-
Строка, используемая в неравенстве в подписях.
- str_formatfunction: float -> str
-
Функция форматирования чисел в подписях.
- Возвращаемое значение:
-
-
artistslist[
Artist] -
Список элементов.
- labelslist[str]
-
Список подписей.
-
artistslist[
- set_alpha(alpha)[source]
-
Устанавливает значение смешивания альфа-канала для всех элементов ContourSet. alpha должно быть значением от 0 (прозрачный) до 1 (непрозрачный).
- classmatplotlib.contour.QuadContourSet(ax, *args, levels=None, filled=False, linewidths=None, linestyles=None, hatches=(None,), alpha=None, origin=None, extent=None, cmap=None, colors=None, norm=None, vmin=None, vmax=None, extend='neither', antialiased=None, nchunk=0, locator=None, transform=None, negative_linestyles=None, **kwargs)[source]
-
Базируется на
ContourSetСоздает и хранит набор контурных линий или заполненных областей.
Этот класс обычно не создается напрямую пользователем, а создается
contourиcontourf.- Атрибуты:
-
-
ax
Axes -
Объект Axes, на котором отображаются контуры.
-
collections
silent_listобъектовPathCollection -
Элементы
Artist, представляющие контур. Это список объектовPathCollectionдля линий и заполненных контуров. - levelsмассив
-
Значения уровней контура.
- layersмассив
-
То же, что и levels для линий контура; половина между уровнями для заполненных контуров. См.
ContourSet._process_colors.
-
ax
Отрисовывает контурные линии или заполненные области, в зависимости от того, является ли ключевое слово filled
False(по умолчанию) илиTrue.Вызов:
ContourSet(ax, levels, allsegs, [allkinds], **kwargs)
- Параметры:
-
-
ax
Axes -
Объект
Axesдля отрисовки. - levels[level0, level1, ..., leveln]
-
Список чисел с плавающей точкой, указывающих уровни контура.
- allsegs[level0segs, level1segs, ...]
-
Список всех сегментов многоугольников для всех levels. Для контурных линий
len(allsegs) == len(levels), а для заполненных контурных областейlen(allsegs) = len(levels)-1. Списки должны иметь видlevel0segs = [polygon0, polygon1, ...] polygon0 = [[x0, y0], [x1, y1], ...]
- allkinds[level0kinds, level1kinds, ...], optional
-
Дополнительный список всех типов вершин многоугольников (коды типов), как описано и используется в Path. Используется для разрешения многосвязных путей, таких как отверстия внутри заполненных многоугольников. Если не
None,len(allkinds) == len(allsegs). Списки должны иметь видlevel0kinds = [polygon0kinds, ...] polygon0kinds = [vertexcode0, vertexcode1, ...]
Если allkinds не
None, обычно все многоугольники для определенного уровня контура группируются вместе, так чтоlevel0segs = [polygon0]иlevel0kinds = [polygon0kinds]. - **kwargs
-
Ключевые параметры, как описано в документации к
contour.
-
ax
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/contour_api.html