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=True, **kwargs)[source]
-
Bases:
matplotlib.text.TextВ отличие от обычного текста, get_rotation возвращает обновленный угол в пиксельных координатах, предполагая, что входной поворот — это угол в координатах данных (или любом заданном преобразовании).
Создаёт экземпляр
Textв точке x, y со строкой text.Допустимые ключевые аргументы:
Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3)
скаляр или None
bool
цвет
словарь свойств для
patches.FancyBboxPatchнеизвестно
неизвестно
неизвестно
colorили cцвет
fontfamilyили family{FONTNAME, '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'}
строка (str)
horizontalalignmentили ha{'center', 'right', 'left'}
bool
объект
числовое значение (кратное размеру шрифта)
строка (str)
multialignmentили ma{'left', 'right', 'center'}
bool
None или bool или числовое значение или вызываемый объект
(число, число)
bool
числовое значение или {'vertical', 'horizontal'}
{None, 'default', 'anchor'}
(масштаб: число, длина: число, случайность: число)
bool или None
объект
bool
строка (str)
bool или None
verticalalignmentили va{'center', 'top', 'bottom', 'baseline', 'center_baseline'}
bool
bool
числовое значение (float)
числовое значение (float)
вещественное число
- 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>, 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
логическое значение
цвет
словарь со свойствами для
patches.FancyBboxPatchлогическое значение
Объект 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{'center', 'right', 'left'}
логическое значение
объект
число с плавающей запятой (кратное размеру шрифта)
строка
multialignmentили ma{'left', 'right', 'center'}
логическое значение
None или логическое значение или число с плавающей запятой или вызываемая функция
(число с плавающей запятой, число с плавающей запятой)
логическое значение
число с плавающей запятой или {'vertical', 'horizontal'}
{None, 'default', 'anchor'}
(scale: число с плавающей запятой, length: число с плавающей запятой, randomness: число с плавающей запятой)
логическое значение или None
объект
логическое значение
строка
логическое значение или None
verticalalignmentили va{'center', 'top', 'bottom', 'baseline', 'center_baseline'}
логическое значение
логическое значение
число с плавающей запятой
-
- 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) -
Размер в пунктах или относительный размер, например, 'меньше', 'очень-большой'. Смотрите
Text.set_sizeдля принятых строковых значений. - colorsцвет или цвета или None, по умолчанию: None
-
Цвета подписей:
- Если None, цвет каждой подписи соответствует цвету соответствующего контура.
- Если одна строка цвета, например, colors = 'r' или colors = 'red', все подписи будут нарисованы этим цветом.
- Если кортеж цветов (строка, число с плавающей точкой, RGB и т.д.), разные подписи будут нарисованы разными цветами в указанном порядке.
- inlineбулево значение, по умолчанию: True
-
Если
Trueподлежащий контур удаляется там, где размещается подпись. - inline_spacingчисло с плавающей точкой, по умолчанию: 5
-
Пробел в пикселях, оставляемый по обеим сторонам подписи при размещении встроеным способом.
Этот интервал будет точным для подписей в местах, где контур прямой, менее точным для подписей на кривых контурах.
-
fmt
Formatterили строка или вызываемый объект или словарь, необязательно -
Как форматируются уровни:
- Если
Formatter, он используется для форматирования всех уровней сразу, используя его методFormatter.format_ticks. - Если строка, она интерпретируется как строка формата стиля %-.
- Если вызываемый объект, он вызывается с одним уровнем за раз и должен возвращать соответствующую подпись.
- Если словарь, он должен напрямую сопоставлять уровни с подписями.
По умолчанию используется стандартный
ScalarFormatter. - Если
- manualбулево или итерируемый объект, по умолчанию: False
-
Если
True, подписи контура будут размещаться вручную с помощью щелчков мыши. Нажмите левую кнопку мыши рядом с контуром, чтобы добавить подпись, нажмите среднюю кнопку (или, возможно, обе кнопки мыши одновременно), чтобы закончить добавление подписей. Третья кнопка может использоваться для удаления последней добавленной подписи, но только если подписи не встроены. В качестве альтернативы, можно использовать клавиатуру для выбора мест расположения подписей (ввод для завершения размещения подписей, клавиши delete или backspace действуют как третья кнопка мыши, а любая другая клавиша выберет место расположения подписи).manual также может быть итерируемым объектом кортежей (x, y). Подписи контура будут созданы так, как будто щелчок мыши происходил в каждой позиции (x, y).
- rightside_upбулево значение, по умолчанию: True
-
Если
True, повороты подписей всегда будут плюс или минус 90 градусов от уровня. - use_clabeltextбулево значение, по умолчанию: False
-
Если
True, используется классClabelText(вместоText), чтобы создать подписи.ClabelTextпересчитывает углы поворота текстов во время отрисовки, поэтому это можно использовать, если аспект осей изменяется. -
zorderчисло с плавающей точкой или None, по умолчанию:
(2 + contour.get_zorder()) -
zorder подписей контура.
- Возвращает
-
- labels
-
Список экземпляров
Textдля подписей.
- get_label_coords(distances, XX, YY, ysize, lw)[source]
-
[Устаревшее] Возвращает координаты x, y и индекс местоположения подписи.
Подписи отображаются в месте с наименьшим отклонением контура от прямой линии, если рядом нет другой подписи, в этом случае выбирается следующее лучшее место на контуре. Если все такие кандидаты отклоняются, выбирается начало контура.
Примечания
Устарело начиная с версии 3.4.
- 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, **kwargs)[source]
-
Базы:
matplotlib.cm.ScalarMappable,matplotlib.contour.ContourLabelerХранит набор контурных линий или заполненных областей.
Метод, вызываемый пользователем:
clabel- Параметры
-
-
ax
Axes - levels[уровень0, уровень1, ..., уровеньn]
-
Список чисел с плавающей точкой, указывающий уровни контура.
- 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 -
Artists, представляющие контур. Это списокPathCollections для контурных линий и заполненных контуров. - levelsмассив
-
Значения уровней контура.
- layersмассив
-
То же, что и levels для контурных линий; посередине между уровнями для заполненных контуров. См.
ContourSet._process_colors.
-
ax
Отрисовывает контурные линии или заполненные области в зависимости от того, является ли ключевой аргумент filled
False(по умолчанию) илиTrue.Вызов функции:
ContourSet(ax, levels, allsegs, [allkinds], **kwargs)
- Параметры
-
-
ax
Axes -
Объект
Axesдля отрисовки. - levels[уровень0, уровень1, ..., уровеньn]
-
Список чисел с плавающей точкой, указывающий уровни контура.
- 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, **kwargs)[source]
-
Базовый класс:
matplotlib.contour.ContourSetСоздаёт и хранит набор контурных линий или заполненных областей.
Этот класс обычно не создаётся напрямую пользователем, но используется
contourиcontourf.- Атрибуты
-
-
ax
Axes -
Объект Axes, на котором нарисованы контуры.
-
collections
silent_listизPathCollection -
Элементы
Artist, представляющие контур. Это списокPathCollectionдля линий и заполненных контуров. - levelsмассив
-
Значения уровней контура.
- layersмассив
-
То же, что и уровни, для линий контура; половина между уровнями для заполненных контуров. См.
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, ...], необязательно
-
Необязательный список всех типов вершин многоугольников (коды типов), как описано и используется в Path. Это используется для разрешения многосвязных путей, таких как отверстия внутри заполненных многоугольников. Если не
None,len(allkinds) == len(allsegs). Списки должны быть похожи наlevel0kinds = [polygon0kinds, ...] polygon0kinds = [vertexcode0, vertexcode1, ...]
Если allkinds не
None, обычно все многоугольники для конкретного уровня контура группируются вместе так, чтобыlevel0segs = [polygon0]иlevel0kinds = [polygon0kinds]. - **kwargs
-
Ключевые параметры аналогичны документации
contour.
-
ax
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/contour_api.html