matplotlib.contour
Это классы для поддержки построения и маркировки контурных диаграмм для класса Axes.
-
class matplotlib.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, **kwargs)[source]
-
Основы:
matplotlib.text.TextВ отличие от обычного текста, get_rotation возвращает обновленный угол в пиксельных координатах, предполагая, что входной поворот — это угол в координатах данных (или в любом заданном преобразовании).
Создайте экземпляр
Textв точке x, y со строкой text.Допустимые значения kwargs:
Свойство Описание agg_filterФункция фильтра, которая принимает массив (m, n, 3) с плавающей точкой и значение dpi, и возвращает массив (m, n, 3) alphaвещественное число animatedлогическое значение backgroundcolorцвет bboxсловарь свойств для patches.FancyBboxPatchclip_boxBboxclip_onлогическое значение clip_path[( Path,Transform) |Patch| None]colorили cцвет containsвызываемый объект figureFigurefontfamilyили family{НАЗВАНИЕ_ШРИФТА, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'} fontpropertiesили font_propertiesfont_manager.FontPropertiesfontsizeили 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'} gidстрока horizontalalignmentили ha{'center', 'right', 'left'} in_layoutлогическое значение labelобъект linespacingвещественное число (кратное размеру шрифта) multialignmentили ma{'left', 'right', 'center'} path_effectsAbstractPathEffectpickerNone или логическое значение или вещественное число или вызываемый объект position(вещественное число, вещественное число) rasterizedлогическое значение или None rotation{угол в градусах, 'vertical', 'horizontal'} rotation_mode{None, 'default', 'anchor'} sketch_params(масштаб: вещественное число, длина: вещественное число, случайность: вещественное число) snapлогическое значение или None textобъект transformTransformurlстрока usetexлогическое значение или None verticalalignmentили va{'center', 'top', 'bottom', 'baseline', 'center_baseline'} visibleлогическое значение wrapлогическое значение xвещественное число yвещественное число zorderвещественное число
-
get_rotation(self)[source] -
Возвращает угол текста в градусах в виде числа с плавающей точкой.
-
-
class matplotlib.contour.ContourLabeler[source]
-
Базы:
objectМиксин для добавления возможности маркировки к
ContourSet.-
add_label(self, x, y, rotation, lev, cvalue)[source] -
Добавление метки контура с использованием класса
Text.
-
add_label_clabeltext(self, x, y, rotation, lev, cvalue)[source] -
Добавление метки контура с использованием класса
ClabelText.
-
add_label_near(self, x, y, inline=True, inline_spacing=5, transform=None)[source] -
Добавляет метку вблизи точки (x, y). Если transform равно None (по умолчанию), (x, y) находится в координатах данных; если transform равно False, (x, y) находится в координатах отображения; в противном случае, указанное преобразование будет использовано для перевода (x, y) в координаты отображения.
Параметры: -
x, y : float -
Приблизительное расположение метки.
-
inline : bool, optional, default: True -
Если True, удаляет сегмент контура под меткой.
-
inline_spacing : int, optional, default: 5 -
Расстояние в пикселях, оставляемое с каждой стороны метки при размещении в одну строку. Это расстояние будет точным для меток в местах, где контур прямой, и менее точным для меток на кривых контурах.
-
-
calc_label_rot_and_inline(self, slc, ind, lw, lc=None, spacing=5)[source] -
Эта функция вычисляет соответствующее вращение метки, учитывая координаты контура линии в единицах экрана, индекс расположения метки и ширину метки.
Также она разрывает контур и вычисляет выравнивание, если lc не пустое (lc по умолчанию — пустой список, если None). spacing — это расстояние в пикселях вокруг метки, которое нужно оставить пустым.
Выполнение обеих этих задач одновременно позволяет избежать многократного вычисления длин путей по контуру, что относительно затратно.
Используемый здесь метод включает вычисление длины пути по контуру в пиксельных координатах, а затем приблизительное расстояние ширины метки / 2 от центральной точки для определения вращения и последующего разрыва контура при необходимости.
-
cl
-
cl_cvalues
-
cl_xy
-
clabel(self, *args, fontsize=None, inline=True, inline_spacing=5, fmt='%1.3f', colors=None, use_clabeltext=False, manual=False, rightside_up=True)[source] -
Разметка контурного графика.
Вызов функции:
clabel(cs, [levels,] **kwargs)
Добавляет метки линиям контура в cs, где cs — объект
ContourSet, возвращаемый функциейcontour().Параметры: -
cs : ContourSet -
Контурный набор для маркировки.
-
levels : array-like, optional -
Список значений уровней, которые должны быть помечены. Список должен быть подмножеством
cs.levels. Если не указан, все уровни будут помечены. -
fontsize : string or float, optional -
Размер в пунктах или относительный размер, например, 'меньше', 'очень-большой'. Смотрите
Text.set_sizeдля допустимых строковых значений. -
colors : color-spec, optional -
Цвета меток:
- Если None, цвет каждой метки соответствует цвету соответствующего контура.
- Если одна строка цвета, например, colors = 'r' или colors = 'red', все метки будут отображаться в этом цвете.
- Если кортеж аргументов цвета matplotlib (строка, число с плавающей точкой, rgb и т. д.), разные метки будут отображаться в разных цветах в указанном порядке.
-
inline : bool, optional -
Если
True, лежащий в основе контур удаляется, где размещается метка. По умолчаниюTrue. -
inline_spacing : float, optional -
Расстояние в пикселях, оставляемое с каждой стороны метки при размещении в одну строку. По умолчанию 5.
Это расстояние будет точным для меток в местах, где контур прямой, и менее точным для меток на кривых контурах.
-
fmt : string or dict, optional -
Строка форматирования для метки. По умолчанию '%1.3f'
В качестве альтернативы, это может быть словарь, сопоставляющий уровни контура с произвольными строками для каждого уровня контура (например, fmt[уровень]=строка), или это может быть любая вызываемая функция, такая как экземпляр
Formatter, которая возвращает строку при вызове с численным уровнем контура. -
manual : bool or iterable, optional -
Если
True, метки контура будут размещаться вручную с помощью щелчков мыши. Щелкните левой кнопкой мыши около контура, чтобы добавить метку, щелкните правой кнопкой мыши (или, возможно, обеими кнопками мыши одновременно), чтобы завершить добавление меток. Третья кнопка может быть использована для удаления последней добавленной метки, но только если метки не выровнены в одну строку. В качестве альтернативы, можно использовать клавиатуру для выбора расположения меток (ввод для завершения размещения меток, удаление или backspace как третья кнопка мыши, и любая другая клавиша выберет расположение метки).manual также может быть итерируемым объектом кортежей x,y. Метки контура будут созданы так, как будто щелчки мыши происходят в каждой точке x,y.
-
rightside_up : bool, optional -
Если
True, повороты меток всегда будут составлять плюс или минус 90 градусов от уровня. По умолчаниюTrue. -
use_clabeltext : bool, optional -
Если
True, используется классClabelText(а неText) для создания меток.ClabelTextпересчитывает углы поворота текстов во время рисования, поэтому это можно использовать, если аспект осей меняется. По умолчаниюFalse.
Возвращает: - labels
-
Список экземпляров
Textдля меток.
-
-
get_label_coords(self, distances, XX, YY, ysize, lw)[source] -
Возвращает x, y и индекс расположения метки.
Метки отображаются в месте с наименьшим отклонением контура от прямой линии, если рядом нет другой метки, в этом случае выбирается следующее лучшее место на контуре. Если все такие кандидаты отклоняются, выбирается начало контура.
-
get_label_width(self, lev, fmt, fsize)[source] -
Возвращает ширину метки в пунктах.
-
get_text(self, lev, fmt)[source] -
Получить текст метки.
-
labels(self, inline, inline_spacing)[source]
-
locate_label(self, linecontour, labelwidth)[source] -
Найти подходящее место для отображения метки (относительно плоская часть контура).
-
pop_label(self, index=-1)[source] -
По умолчанию удаляет последнюю метку, но можно указать любой индекс.
-
print_label(self, linecontour, labelwidth)[source] -
Возвращает False, если контуры слишком коротки для метки.
-
-
set_label_props(self, label, text, color)[source] -
Установить свойства метки — цвет, размер шрифта, текст.
-
too_close(self, x, y, lw)[source] -
Возвращает True, если метка уже находится рядом с этим местоположением.
-
-
class matplotlib.contour.ContourSet(ax, *args, levels=None, filled=False, linewidths=None, linestyles=None, alpha=None, origin=None, extent=None, cmap=None, colors=None, norm=None, vmin=None, vmax=None, extend='neither', antialiased=None, **kwargs)[source] -
Базы:
matplotlib.cm.ScalarMappable,matplotlib.contour.ContourLabelerХранение набора контурных линий или заполненных областей.
Метод, вызываемый пользователем:
clabelПараметры: -
ax : Axes -
levels : [level0, level1, ..., leveln] -
Список чисел с плавающей точкой, указывающих уровни контуров.
-
allsegs : [level0segs, level1segs, ...] -
Список всех сегментов многоугольников для всех уровней. Для контурных линий
len(allsegs) == len(levels), а для заполненных контурных областейlen(allsegs) = len(levels)-1. Списка должны быть следующего вида:level0segs = [polygon0, polygon1, ...] polygon0 = array_like [[x0,y0], [x1,y1], ...]
-
allkinds : None or [level0kinds, level1kinds, ...] -
Необязательный список всех типов вершин многоугольников (кодов типов), как описано и используется в Path. Это используется для разрешения многосвязных путей, таких как отверстия внутри заполненных многоугольников. Если не
None,len(allkinds) == len(allsegs). Списка должны быть следующего вида:level0kinds = [polygon0kinds, ...] polygon0kinds = [vertexcode0, vertexcode1, ...]
Если allkinds не
None, обычно все многоугольники для определенного уровня контура группируются вместе, чтобыlevel0segs = [polygon0]иlevel0kinds = [polygon0kinds]. - **kwargs
-
Ключевые параметры описаны в документации
contour.
Атрибуты: - ax
-
Объект осей, на котором нарисованы контуры.
- collections
-
Список LineCollections или PolyCollections.
- levels
-
Уровни контуров.
- layers
-
То же, что и levels для контурных линий; середина между уровнями для заполненных контуров. См.
_process_colors().
Отрисовывает контурные линии или заполненные области в зависимости от того, является ли ключевой аргумент 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 = array_like [[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.
-
changed(self)[source] -
Вызовите эту функцию при изменении отображаемого объекта, чтобы уведомить всех слушателей обратного вызова SM о событии 'changed'.
-
find_nearest_contour(self, x, y, indices=None, pixel=True)[source] -
Находит ближайший контур к точке. По умолчанию измеряет расстояние в пикселях (пространство экрана — полезно для ручного маркирования контуров), но это можно контролировать с помощью ключевого аргумента.
Возвращает кортеж, содержащий контур, сегмент, индекс сегмента, координаты x и y точки сегмента и расстояние до минимальной точки.
Необязательные ключевые аргументы:
- indices:
- Индексы уровней контуров, которые следует учитывать при поиске ближайшей точки. По умолчанию используется все уровни.
- pixel:
- Если True, измеряет расстояние в пространстве пикселей, в противном случае — в пространстве осей. По умолчанию True.
-
get_alpha(self)[source] -
Возвращает альфа-значение, применяемое ко всем элементам ContourSet.
-
get_transform(self)[source] -
Возвращает экземпляр
Transform, используемый этим ContourSet.
-
legend_elements(self, variable_name='x', str_format=<class 'str'>)[source] -
Возвращает список элементов и подписей, подходящих для передачи в
plt.legend(), которые представляют этот ContourSet.Подписи имеют вид «0 < x <= 1», указывающий диапазоны данных, которые представляют элементы.
Параметры: -
variable_name : str -
Строка, используемая внутри неравенства в подписях.
-
str_format : function: float -> str -
Функция форматирования чисел в подписях.
Возвращает: -
artists : List[Artist] -
Список элементов.
-
labels : List[str] -
Список подписей.
-
-
set_alpha(self, alpha)[source] -
Устанавливает значение альфа-смешивания для всех элементов ContourSet. alpha должно быть в диапазоне от 0 (прозрачный) до 1 (непрозрачный).
-
-
class matplotlib.contour.QuadContourSet(ax, *args, levels=None, filled=False, linewidths=None, linestyles=None, alpha=None, origin=None, extent=None, cmap=None, colors=None, norm=None, vmin=None, vmax=None, extend='neither', antialiased=None, **kwargs)[source] -
Bases:
matplotlib.contour.ContourSetСоздание и хранение набора линий контура или заполненных областей.
Метод, вызываемый пользователем:
clabelАтрибуты: - ax
-
Объект осей, на котором отрисовываются контуры.
- collections
-
Список LineCollections или PolyCollections.
- levels
-
Уровни контура.
- layers
-
То же, что и levels для линий контура; половина пути между уровнями для заполненных контуров. См. метод
_process_colors().
Отрисовка линий контура или заполненных областей, в зависимости от того, является ли ключевое слово arg 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 = array_like [[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.
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.1.1/api/contour_api.html