контур
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функция-фильтр, которая принимает массив float (m, n, 3) и значение dpi и возвращает массив (m, n, 3) alphaвещественное число (от 0.0 — прозрачный до 1.0 — непрозрачный) animatedбулево значение backgroundcolorлюбой цвет matplotlib bboxсловарь свойств FancyBboxPatch clip_boxэкземпляр matplotlib.transforms.Bboxclip_onбулево значение clip_path[ ( Path,Transform) |Patch| None ]colorлюбой цвет matplotlib containsвызываемая функция familyили fontfamily или fontname или name[ИМЯ ШРИФТА | 'serif' | 'sans-serif' | 'cursive' | 'fantasy' | 'monospace' ] figureэкземпляр Figurefontpropertiesили font_propertiesэкземпляр matplotlib.font_manager.FontPropertiesgidстрока-идентификатор horizontalalignmentили ha[ 'center' | 'right' | 'left' ] labelобъект linespacingвещественное число (кратное размеру шрифта) multialignmentили ma['left' | 'right' | 'center' ] path_effectsAbstractPathEffectpicker[None | bool | float | вызываемая функция] position(x,y) rasterizedбулево значение или None rotation[ угол в градусах | 'vertical' | 'horizontal' ] rotation_mode[ None | "default" | "anchor" ] sizeили fontsize[размер в пунктах | 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | 'xx-large' ] sketch_params(масштаб: float, длина: float, случайность: float) snapбулево значение или None stretchили fontstretch[числовое значение в диапазоне 0-1000 | 'ultra-condensed' | 'extra-condensed' | 'condensed' | 'semi-condensed' | 'normal' | 'semi-expanded' | 'expanded' | 'extra-expanded' | 'ultra-expanded' ] styleили fontstyle[ 'normal' | 'italic' | 'oblique'] textстрока или любой печатный объект с преобразованием '%s'. transformTransformurlстрока URL usetexбулево значение или None variantили fontvariant[ 'normal' | 'small-caps' ] verticalalignmentили va[ 'center' | 'top' | 'bottom' | 'baseline' ] visibleбулево значение weightили fontweight[числовое значение в диапазоне 0-1000 | 'ultralight' | 'light' | 'normal' | 'regular' | 'book' | 'medium' | 'roman' | 'semibold' | 'demibold' | 'demi' | 'bold' | 'heavy' | 'extra bold' | 'black' ] wrapбулево значение xвещественное число yвещественное число zorderвещественное число -
get_rotation()[source] -
возвращает угол текста как число в градусах
-
-
class matplotlib.contour.ContourLabeler[source] -
Основы:
objectMixin для добавления возможности маркировки к
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). Если 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(slc, ind, lw, lc=None, spacing=5)[source] -
Эта функция вычисляет соответствующее поворот метки на основе координат контура линии в экранных единицах, индекса расположения метки и ширины метки.
Она также разделит контур и вычислит выравнивание, если lc не пустой (lc по умолчанию равен пустому списку, если None). spacing — это расстояние в пикселях вокруг метки, которое нужно оставить пустым.
Выполнение обеих задач одновременно позволяет избежать многократного вычисления длин пути по контуру, что относительно дорого.
Используемый здесь метод включает вычисление длины пути по контуру в пиксельных координатах, а затем приблизительное определение расстояния ширины метки / 2 от центральной точки для определения угла поворота, а затем разделение контура, если это необходимо.
-
clabel(*args, **kwargs)[source] -
Маркирование контурного графика.
Подпись вызова:
clabel(cs, **kwargs)
Добавляет метки к контурным линиям в cs, где cs — объект
ContourSet, возвращаемый функцией contour.clabel(cs, v, **kwargs)
маркирует только контуры, перечисленные в v.
Параметры: -
fontsize : string or float, optional -
Размер в пунктах или относительный размер, например, 'smaller', 'x-large'. Принимаемые строковые значения см. в
Text.set_size. - colors :
-
Цвет каждой метки
- если 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.
-
-
get_label_coords(distances, XX, YY, ysize, lw)[source] -
Возвращает x, y и индекс расположения метки.
Метки отображаются в месте с наименьшим отклонением контура от прямой линии, если рядом нет другой метки, в этом случае выбирается следующее лучшее место на контуре. Если все такие кандидаты отклоняются, выбирается начало контура.
-
get_label_width(lev, fmt, fsize)[source] -
Возвращает ширину метки в пунктах.
-
get_real_label_width(lev, fmt, fsize)[source] -
Устарело начиная с версии 2.2: Функция get_real_label_width устарела в версии 2.2.
Вычисляет фактическую ширину метки на экране. Использует некоторые магические методы для определения размеров на экране метки, которая не была отображена. Эта магия может быть не очень надежной.
Этот метод не используется и может быть изменён или удалён.
-
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] -
Возвращает False, если контуры слишком короткие для метки.
-
set_label_props(label, text, color)[source] -
Установка свойств метки — цвет, размер шрифта, текст.
-
-
too_close(x, y, lw)[source] -
Возвращает True, если метка уже находится рядом с этим местоположением.
-
-
class matplotlib.contour.ContourSet(ax, *args, **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:
-
То же, что и уровни для контурных линий; половина пути между уровнями для заполненных контуров. См.
_process_colors().
Рисует контурные линии или заполненные области, в зависимости от того, является ли ключевой аргумент filled
False(по умолчанию) илиTrue.Вызов:
ContourSet(ax, levels, allsegs, [allkinds], **kwargs)
Параметры: - 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 : [level0kinds, level1kinds, ...], optional -
Необязательный список всех типов вершин многоугольников (типов кодов), как описано и используется в Path. Это используется для возможности создания многосвязных путей, таких как отверстия внутри заполненных многоугольников. Если не
None,len(allkinds) == len(allsegs). Списки должны выглядеть так:level0kinds = [polygon0kinds, ...] polygon0kinds = [vertexcode0, vertexcode1, ...]
Если allkinds не
None, обычно все многоугольники для определенного уровня контура группируются вместе, так чтоlevel0segs = [polygon0]иlevel0kinds = [polygon0kinds]. - **kwargs
-
Ключевые аргументы описаны в документации
contour.
-
changed()[source] -
Вызовите этот метод, когда объект изменится, чтобы оповестить всех слушателей обратного вызова SM об изменении.
-
find_nearest_contour(x, y, indices=None, pixel=True)[source] -
Находит ближайший контур к точке. По умолчанию используется измерение расстояния в пикселях (пространство экрана — полезно для ручного маркирования контуров), но это можно контролировать с помощью ключевого аргумента.
Возвращает кортеж, содержащий контур, сегмент, индекс сегмента, x и y точки сегмента и расстояние до ближайшей точки.
Необязательные ключевые аргументы:
- indices:
- Индексы уровней контура, которые нужно учитывать при поиске ближайшей точки. По умолчанию используются все уровни.
- pixel:
- Если True, измеряет расстояние в пространстве пикселей, в противном случае — в пространстве осей. По умолчанию True.
-
get_alpha()[source] -
Возвращает значение альфа-смешивания, применяемое ко всем элементам ContourSet.
-
get_transform()[source] -
Возвращает экземпляр
Transform, используемый этим ContourSet.
-
legend_elements(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(alpha)[source] -
Устанавливает значение альфа-смешивания для всех элементов ContourSet. alpha должно быть между 0 (прозрачный) и 1 (непрозрачный).
-
-
class matplotlib.contour.QuadContourSet(ax, *args, **kwargs)[source] -
Bases:
matplotlib.contour.ContourSetСоздать и сохранить набор контурных линий или заполненных областей.
Метод, вызываемый пользователем:
clabelАтрибуты: - ax:
-
Объект осей, на котором отображаются контуры.
- collections:
-
Список LineCollections или PolyCollections.
- levels:
-
Уровни контуров.
- layers:
-
То же, что и уровни для контурных линий; середина между уровнями для заполненных контуров. См. метод
_process_colors().
Отображение контурных линий или заполненных областей в зависимости от того, является ли ключевое слово filled
False(по умолчанию) илиTrue.Вызов метода:
ContourSet(ax, levels, allsegs, [allkinds], **kwargs)
Параметры: - 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 : [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/2.2.3/api/contour_api.html