Spec-Zone.ru › Matplotlib

matplotlib.widgets

Диаграмма наследования matplotlib.widgets

GUI-нейтральные виджеты

Виджеты, разработанные для работы с любыми графическими интерфейсами. Все эти виджеты требуют предварительного определения экземпляра Axes и передачи его в качестве первого параметра. Matplotlib не пытается быть слишком умным в отношении макета — вам нужно будет самостоятельно определить, какой ширины и высоты вы хотите сделать ваш Axes, чтобы разместить ваш виджет.

classmatplotlib.widgets.AxesWidget(ax)[source]

Bases: Widget

Виджет, связанный с одним Axes.

Для обеспечения сохранения отзывчивости виджета и предотвращения его удаления из памяти, пользователь должен сохранить ссылку на объект.

Это необходимо, поскольку регистр обратного вызова хранит только слабые ссылки на функции, которые являются методами виджета. Если ссылок на объект виджета нет, он может быть удалён из памяти, что отсоединит обратные вызовы.

Атрибуты:
axAxes

Родительский Axes для виджета.

canvasFigureCanvasBase

Родительский холст figure для виджета.

activebool

Виджет активен?

propertycanvas
connect_event(event, callback)[source]

Подключение функции обратного вызова к событию.

Следует использовать вместо figure.canvas.mpl_connect, так как эта функция хранит идентификаторы обратных вызовов для последующего удаления.

disconnect_events()[source]

Отключение всех событий, созданных этим виджетом.

classmatplotlib.widgets.Button(ax, label, image=None, color='0.85', hovercolor='0.95', *, useblit=True)[source]

Bases: AxesWidget

GUI-нейтральная кнопка.

Для сохранения отзывчивости кнопки необходимо сохранить на неё ссылку. Вызовите on_clicked для подключения к кнопке.

Атрибуты:
ax

Axes, в который отображается кнопка.

label

Text экземпляр.

color

Цвет кнопки при отсутствии наведения.

hovercolor

Цвет кнопки при наведении.

Параметры:
axAxes

Экземпляр Axes, в который будет помещена кнопка.

labelstr

Текст кнопки.

imagearray-like или PIL Image

Изображение, которое нужно разместить в кнопке, если оно не None. Параметр напрямую передаётся в imshow.

colorцвет

Цвет кнопки при отсутствии активации.

hovercolorцвет

Цвет кнопки при наведении курсора.

useblitbool, по умолчанию: True

Использовать blitting для ускорения отрисовки, если это поддерживается бэкендом. Подробнее см. в руководстве Более быстрое отображение с использованием blitting.

Добавлен в версии 3.7.

disconnect(cid)[source]

Удаление функции обратного вызова с идентификатором соединения cid.

on_clicked(func)[source]

Подключение функции обратного вызова func к событиям нажатия кнопки.

Возвращает идентификатор соединения, который может использоваться для отключения обратного вызова.

classmatplotlib.widgets.CheckButtons(ax, labels, actives=None, *, useblit=True, label_props=None, frame_props=None, check_props=None)[source]
END_OF_DOCUMENT_MARKER

Bases: AxesWidget

Набор флажков, нейтральный по отношению к GUI.

Для сохранения отзывчивости флажков необходимо сохранить ссылку на этот объект.

Подключитесь к CheckButtons с помощью метода on_clicked.

Атрибуты:
axAxes

Родительский Axes для виджета.

labelsсписок Text

Объекты текстовых меток флажков.

Добавьте флажки к экземпляру Axes ax.

Параметры:
axAxes

Родительский Axes для виджета.

labelsсписок str

Метки флажков.

activesсписок bool, необязательно

Начальное состояние флажков. Список должен иметь такую же длину, как и labels. Если не указано, все флажки будут сброшены.

useblitbool, по умолчанию: True

Использовать blitting для более быстрого рисования, если это поддерживается бэкендом. Подробнее см. в руководстве Более быстрое отображение с помощью blitting.

Добавлена в версии 3.7.

label_propsсловарь, необязательно

Словарь свойств Text для меток.

Добавлена в версии 3.7.

frame_propsсловарь, необязательно

Словарь свойств рассеивания Collection для рамки флажка. По умолчанию (размер шрифта метки / 2)**2 размер, черный edgecolor, без facecolor и 1.0 linewidth.

Добавлена в версии 3.7.

check_propsсловарь, необязательно

Словарь свойств рассеивания Collection для отметки флажка. По умолчанию (размер шрифта метки / 2)**2 размер, черный цвет и 1.0 linewidth.

Добавлена в версии 3.7.

clear()[source]

Снять отметку со всех флажков.

disconnect(cid)[source]

Удалить наблюдателя с идентификатором подключения cid.

get_checked_labels()[source]

Возвращает список меток, которые в данный момент отмечены пользователем.

get_status()[source]

Возвращает список состояния (True/False) всех флажков.

on_clicked(func)[source]

Подключает функцию обратного вызова func к событиям нажатия на кнопки.

Параметры:
funccallable

При нажатии кнопки вызывается func с меткой кнопки. При очистке всех кнопок вызывается func с None. Функция обратного вызова должна иметь следующий сигнатуру:

def func(label: str | None) -> Any

Значения возврата могут существовать, но игнорируются.

Возвращает:
Идентификатор соединения, который можно использовать для отключения обратного вызова.
set_active(index, state=None)[source]

Изменяет состояние флажка по индексу.

Обратные вызовы будут вызваны, если eventson равно True.

Параметры:
indexint

Индекс флажка, который нужно переключить.

statebool, необязательно

Если булево значение, устанавливает состояние явно. Если значение не предоставлено, состояние переключается.

Исключения:
ValueError

Если index недопустим.

TypeError

Если state не является булевым.

set_check_props(props)[source]

Устанавливает свойства отметок флажков.

Добавлена в версии 3.7.

Параметры:
propsсловарь

Словарь свойств Collection для использования с отметками флажка.

set_frame_props(props)[source]

Устанавливает свойства рамок флажков.

Добавлена в версии 3.7.

Параметры:
propsсловарь

Словарь свойств Collection для использования с рамками флажка.

set_label_props(props)[source]

Установить свойства меток Text.

Добавлена в версии 3.7.

Параметры:
propsdict

Словарь свойств Text, которые будут использованы для меток.

classmatplotlib.widgets.Cursor(ax, *, horizOn=True, vertOn=True, useblit=False, **lineprops)[source]

Базовый класс: AxesWidget

Перекрестие курсора, которое охватывает область Axes и перемещается вместе с курсором мыши.

Чтобы курсор оставался отзывчивым, необходимо сохранить ссылку на него.

Параметры:
axAxes

Область Axes для прикрепления курсора.

horizOnbool, по умолчанию: True

Отображать ли горизонтальную линию.

vertOnbool, по умолчанию: True

Отображать ли вертикальную линию.

useblitbool, по умолчанию: False

Использовать кеширование для ускорения рисования, если это поддерживается бэкендом. Подробности см. в руководстве Ускорение отрисовки с помощью кеширования.

Дополнительные параметры:
**lineprops

Свойства Line2D, которые управляют внешним видом линий. См. также axhline.

Примеры

См. Cursor.

clear(event)[source]

Внутренний обработчик событий для очистки курсора.

onmove(event)[source]

Внутренний обработчик событий для отрисовки курсора при перемещении мыши.

classmatplotlib.widgets.EllipseSelector(ax, onselect, *, minspanx=0, minspany=0, useblit=False, props=None, spancoords='data', button=None, grab_range=10, handle_props=None, interactive=False, state_modifier_keys=None, drag_from_anywhere=False, ignore_event_outside=False, use_data_coordinates=False)[source]

Bases: RectangleSelector

Выбор эллиптической области на оси.

Для сохранения отзывчивости курсора необходимо сохранить на него ссылку.

События нажатия и отпуска курсора, произошедшие в одних и тех же координатах за пределами выделения, приведут к очистке выделения, за исключением случаев, когда ignore_event_outside=True.

Параметры:
axAxes

Родительская ось виджета.

onselectфункция

Функция обратного вызова, которая вызывается после события отпуска и создания выделения. Она должна иметь следующий прототип:

def onselect(eclick: MouseEvent, erelease: MouseEvent)

где eclick и erelease — события щелчка мыши и отпуска MouseEvent, которые начинаются и завершают выделение.

minspanxfloat, по умолчанию: 0

Выделения с шириной меньше или равной minspanx удаляются (если уже существуют) или отменяются.

minspanyfloat, по умолчанию: 0

Выделения с высотой меньше или равной minspanx удаляются (если уже существуют) или отменяются.

useblitbool, по умолчанию: False

Использовать ли blitting для ускорения отрисовки (если поддерживается бэкендом). Подробности см. в руководстве Ускорение отрисовки с помощью blitting.

propsdict, необязательно

Свойства, с помощью которых рисуется эллипс. См. Patch для допустимых свойств. По умолчанию:

dict(facecolor='red', edgecolor='black', alpha=0.2, fill=True)

spancoords{"data", "pixels"}, по умолчанию: "data"

Указывает, в каких координатах интерпретировать minspanx и minspany — данных или пикселей.

buttonMouseButton, список MouseButton, по умолчанию: все кнопки

Кнопка(и), которые запускают выделение прямоугольника.

grab_rangefloat, по умолчанию: 10

Расстояние в пикселях, в пределах которого можно активировать элементы управления интерактивным инструментом.

handle_propsdict, необязательно

Свойства, с помощью которых рисуются интерактивные элементы управления (маркеры графических объектов). См. аргументы маркера в Line2D для допустимых свойств. Значения по умолчанию определены в mpl.rcParams за исключением значения по умолчанию markeredgecolor , которое будет таким же, как свойство edgecolor в props.

interactivebool, по умолчанию: False

Рисовать ли набор элементов управления, которые позволяют взаимодействовать с виджетом после его отрисовки.

state_modifier_keysdict, необязательно

Ключи-модификаторы состояния, которые влияют на поведение виджета. Значения дополняют значения по умолчанию:

  • "move": Перемещение существующей формы, по умолчанию: без модификатора.
  • "clear": Очистка текущей формы, по умолчанию: "escape".
  • "square": Преобразование формы в квадрат, по умолчанию: "shift".
  • "center": Изменение формы относительно ее центра, по умолчанию: "ctrl".
  • "rotate": Поворот формы вокруг ее центра между -45° и 45°, по умолчанию: "r".

«square» и «center» могут быть объединены. Квадратная форма может быть определена в координатах данных или отображения, как определено аргументом use_data_coordinates при создании селектора.

drag_from_anywherebool, по умолчанию: False

Если True, виджет можно перемещать, нажав в любом месте в пределах его границ.

ignore_event_outsidebool, по умолчанию: False

Если True, событие, сгенерированное за пределами селектора, будет проигнорировано.

use_data_coordinatesbool, по умолчанию: False

Если True, квадратная форма селектора определяется в координатах данных, а не в координатах отображения.

Примеры

Прямоугольные и эллиптические селекторы

классmatplotlib.widgets.Lasso(ax, xy, callback, *, useblit=True, props=None)[source]

Базы: AxesWidget

Кривая выделения произвольной формы.

Выбранный путь можно использовать совместно с contains_point для выбора точек данных на изображении.

В отличие от LassoSelector, этот объект должен быть инициализирован с начальной точкой xy, и события Lasso уничтожаются при отпускании.

Параметры:
axAxes

Родительский Axes для виджета.

xy(float, float)

Координаты начала лассо.

callbackвызываемый объект

Всякий раз, когда лассо отпускается, функция callback вызывается и получает вершины выбранного пути.

useblitbool, по умолчанию: True

Использовать ли блиттинг для более быстрого рисования (если поддерживается бэкендом). Подробности см. в руководстве Более быстрое отображение с помощью блиттинга.

props: dict, необязательно

Свойства линии лассо. Допустимые свойства см. в Line2D. Значения по умолчанию для props:

{'linestyle' : '-', 'color' : 'black', 'lw' : 2}

Добавлен в версии 3.9.

onmove(event)[source]
onrelease(event)[source]
классmatplotlib.widgets.LassoSelector(ax, onselect, *, useblit=True, props=None, button=None)[source]

Базы: _SelectorWidget

Кривая выделения произвольной формы.

Для того, чтобы селектор оставался отзывчивым, вы должны сохранить ссылку на него.

Выбранный путь можно использовать совместно с contains_point для выбора точек данных на изображении.

В отличие от Lasso, LassoSelector написан с интерфейсом, похожим на RectangleSelector и SpanSelector, и будет продолжать взаимодействовать с Axes до отключения.

Пример использования:

ax = plt.subplot()
ax.plot(x, y)

def onselect(verts):
    print(verts)
lasso = LassoSelector(ax, onselect)
Параметры:
axAxes

Родительский Axes для виджета.

onselectфункция

Всякий раз, когда лассо отпускается, функция onselect вызывается и получает вершины выбранного пути.

useblitbool, по умолчанию: True

Использовать ли блиттинг для более быстрого рисования (если поддерживается бэкендом). Подробности см. в руководстве Более быстрое отображение с помощью блиттинга.

propsdict, необязательно

Свойства, с которыми рисуется линия, см. Line2D для допустимых свойств. Значения по умолчанию определены в mpl.rcParams.

buttonMouseButton или список MouseButton, необязательно

Кнопки мыши, используемые для выделения прямоугольника. По умолчанию None, что соответствует всем кнопкам.

классmatplotlib.widgets.LockDraw[source]

Базы: object

Некоторые виджеты, такие как курсор, рисуют на холсте, что нежелательно во всех случаях, например, когда панель инструментов находится в режиме масштабирования до прямоугольника и рисует прямоугольник. Чтобы избежать этого, виджет может получить блокировку холста с помощью canvas.widgetlock(widget) перед рисованием на холсте; это предотвратит рисование другими виджетами в то же время (если они также попытаются получить блокировку раньше).

available(o)[source]

Возвращает, доступно ли рисование для o.

isowner(o)[source]

Возвращает, является ли o владельцем этой блокировки.

locked()[source]

Возвращает, удерживается ли блокировка в данный момент владельцем.

release(o)[source]

Освободить блокировку от o.

END_OF_DOCUMENT_MARKER
classmatplotlib.widgets.MultiCursor(canvas, axes, *, useblit=True, horizOn=False, vertOn=True, **lineprops)[source]

Bases: Widget

Обеспечивает вертикальный (по умолчанию) и/или горизонтальный курсор, общий для нескольких осей.

Для сохранения отзывчивости курсора необходимо сохранить ссылку на него.

Параметры:
canvasобъект

Этот параметр полностью не используется и оставлен только для обратной совместимости.

axesсписок Axes

Axes, к которому будет прикреплен курсор.

useblitbool, по умолчанию: True

Использовать blitting для более быстрого рисования, если это поддерживается бэкендом. Подробности см. в руководстве Более быстрое рендеринг с помощью blitting.

horizOnbool, по умолчанию: False

Определяет, рисовать ли горизонтальную линию.

vertOnbool, по умолчанию: True

Определяет, рисовать ли вертикальную линию.

Другие параметры:
**lineprops

Свойства Line2D, которые управляют внешним видом линий. См. также axhline.

Примеры

См. Многокурсор.

clear(event)[source]

Очистить курсор.

connect()[source]

Подключить события.

disconnect()[source]

Отключить события.

onmove(event)[source]
classmatplotlib.widgets.PolygonSelector(ax, onselect, *, useblit=False, props=None, handle_props=None, grab_range=10, draw_bounding_box=False, box_handle_props=None, box_props=None)[source]

Bases: _SelectorWidget

Выберите область многоугольника на оси.

Установите вершины щелчком мыши и завершите выбор, щелкнув первую вершину. После рисования отдельные вершины можно перемещать, нажав и перетащив левой кнопкой мыши, или удалить, щелкнув правой кнопкой мыши.

Кроме того, можно использовать следующие клавиши модификатора:

  • Удерживайте ctrl и щелкайте и перетаскивайте вершину, чтобы переместить её, прежде чем многоугольник будет завершён.
  • Удерживайте клавишу shift и щелкайте и перетаскивайте в любом месте на оси, чтобы переместить все вершины.
  • Нажмите клавишу esc, чтобы начать новый многоугольник.

Для того, чтобы селектор оставался отзывчивым, необходимо сохранить ссылку на него.

Parameters:
axAxes

Родительская ось виджета.

onselectfunction

При завершении или изменении многоугольника после завершения вызывается функция onselect и передаётся список вершин в виде (xdata, ydata) кортежей.

useblitbool, default: False

Использовать ли буферизацию для более быстрого рисования (если поддерживается бэкендом). См. руководство Более быстрое отображение с помощью буферизации для получения подробной информации.

propsdict, optional

Свойства, с помощью которых рисуется линия, см. Line2D для допустимых свойств. Значение по умолчанию:

dict(color='k', linestyle='-', linewidth=2, alpha=0.5)
handle_propsdict, optional

Свойства объекта для маркеров, нарисованных в вершинах многоугольника. См. аргументы маркера в Line2D для допустимых свойств. Значения по умолчанию определены в mpl.rcParams за исключением значения по умолчанию markeredgecolor которое будет таким же, как свойство color в props.

grab_rangefloat, default: 10

Вершина выбирается (для завершения многоугольника или перемещения вершины), если щелчок мыши находится в пределах grab_range пикселей от вершины.

draw_bounding_boxbool, optional

Если True, вокруг селектора многоугольника будет нарисована рамка. Эта рамка может быть использована для перемещения и изменения размеров селектора.

box_handle_propsdict, optional

Свойства для установки для ручек рамки. См. документацию для аргумента handle_props в RectangleSelector для получения дополнительной информации.

box_propsdict, optional

Свойства для установки для рамки. См. документацию для аргумента props в RectangleSelector для получения дополнительной информации.

Примечания

Если после удаления точек остаётся только одна точка, селектор возвращается в состояние незавершенности, и вы можете начать рисовать новый многоугольник с существующей точки.

Примеры

Селектор многоугольника Выбор индексов из коллекции с помощью селектора многоугольника

onmove(event)[source]

Обработчик событий перемещения курсора и валидатор.

propertyverts

Вершины многоугольника в виде списка (x, y) пар.

END_OF_DOCUMENT_MARKER
classmatplotlib.widgets.RadioButtons(ax, labels, active=0, activecolor=None, *, useblit=True, label_props=None, radio_props=None)[source]

Bases: AxesWidget

Радиокнопка, независимая от среды графического интерфейса.

Для сохранения реактивности кнопок необходимо сохранить ссылку на этот объект.

Подключитесь к RadioButtons с помощью метода on_clicked.

Атрибуты:
axAxes

Родительский объект Axes для виджета.

activecolorцвет

Цвет выбранной кнопки.

labelsсписок Text

Метки кнопок.

value_selectedстрока

Текст метки текущей выбранной кнопки.

index_selectedцелое число

Индекс выбранной кнопки.

Добавление радиокнопок на Axes.

Параметры:
axAxes

Объект Axes, на который нужно добавить кнопки.

labelsсписок строк

Метки кнопок.

activeцелое число

Индекс изначально выбранной кнопки.

activecolorцвет

Цвет выбранной кнопки. По умолчанию 'blue', если не указано здесь или в radio_props.

useblitлогическое значение, по умолчанию: True

Использовать буферизацию для более быстрого отрисовки, если поддерживается бэкэндом. Подробности см. в руководстве Более быстрое отрисовывание с помощью буферизации.

Добавлен в версии 3.7.

label_propsсловарь или список словарей, необязательно

Словарь свойств Text для меток.

Добавлен в версии 3.7.

radio_propsсловарь, необязательно

Словарь свойств разброса Collection для радиокнопок. По умолчанию (размер шрифта метки / 2)**2, черный цвет обводки, цвет activecolor для заливки (при активном состоянии).

Примечание

Если цвет заливки указан в radio_props, он переопределит activecolor. Это может использоваться для задания цвета активной кнопки по отдельности для каждой.

Добавлен в версии 3.7.

свойствоactivecolor
clear()[source]

Сбросить выбранную кнопку на изначально активную.

disconnect(cid)[source]

Удалить наблюдателя с идентификатором соединения cid.

on_clicked(func)[source]

Подключить функцию обратного вызова func к событиям нажатия на кнопки.

Параметры:
funcвызываемая функция

При нажатии на кнопку вызовите func с меткой кнопки. При сбросе всех кнопок вызовите func с None. Функция обратного вызова должна иметь сигнатуру:

def func(label: str | None) -> Any

Возвращаемые значения могут существовать, но игнорируются.

Возвращаемое значение:
Идентификатор подключения, который можно использовать для отключения обратного вызова.
set_active(index)[source]

Выбрать кнопку с номером index.

Обратные вызовы будут вызваны, если eventson равно True.

Параметры:
indexцелое число

Индекс кнопки для активации.

Исключения:
ValueError

Если индекс недопустим.

set_label_props(props)[source]

Установить свойства меток Text.

Добавлен в версии 3.7.

Параметры:
propsсловарь

Словарь свойств Text для меток.

set_radio_props(props)[source]

Установить свойства меток Text.

Добавлен в версии 3.7.

Параметры:
propsсловарь

Словарь свойств Collection для радиокнопок.

classmatplotlib.widgets.RangeSlider(ax, label, valmin, valmax, *, valinit=None, valfmt=None, closedmin=True, closedmax=True, dragging=True, valstep=None, orientation='horizontal', track_color='lightgrey', handle_style=None, **kwargs)[source]

Bases: SliderBase

Ползунок, представляющий диапазон значений с плавающей точкой. Определяет минимальное и максимальное значения диапазона через атрибут val как кортеж (min, max).

Создаёт ползунок, определяющий диапазон, заключённый в [valmin, valmax] в осях ax. Для сохранения отзывчивости ползунка необходимо сохранить ссылку на него. Вызовите on_changed() для подключения к событию ползунка.

Атрибуты:
valкортеж float

Значение ползунка.

Параметры:
axAxes

Оси, в которые помещается ползунок.

labelstr

Метка ползунка.

valminfloat

Минимальное значение ползунка.

valmaxfloat

Максимальное значение ползунка.

valinitкортеж float или None, по умолчанию: None

Начальные позиции ползунка. Если None, начальные позиции будут соответствовать 25-му и 75-му процентилям диапазона.

valfmtстрока, по умолчанию: None

Форматная строка % для форматирования значений ползунка. Если None, используется ScalarFormatter.

closedminbool, по умолчанию: True

Является ли интервал ползунка закрытым слева.

closedmaxbool, по умолчанию: True

Является ли интервал ползунка закрытым справа.

draggingbool, по умолчанию: True

Если True, ползунок можно перетаскивать мышкой.

valstepfloat, по умолчанию: None

Если задано, ползунок будет привязываться к кратным valstep.

orientation{'horizontal', 'vertical'}, по умолчанию: 'horizontal'

Направление ползунка.

track_colorцвет, по умолчанию: 'lightgrey'

Цвет фоновой дорожки. Дорожка доступна для дальнейшей стилизации через атрибут track.

handle_styledict

Свойства рукоятки ползунка. Значения по умолчанию:

Ключ

Значение

По умолчанию

Описание

facecolor

цвет

'white'

Цвет лицевой части рукоятки ползунка.

edgecolor

цвет

'.75'

Цвет границы рукоятки ползунка.

size

целое число

10

Размер рукоятки ползунка в пунктах.

Другие значения будут преобразованы в marker{foo} и переданы в конструктор Line2D. Например, handle_style = {'style'='x'} приведет к markerstyle = 'x'.

Примечания

Дополнительные параметры kwargs передаются в self.poly, который является Polygon, рисующим ползунок. Смотрите документацию Polygon для допустимых имён свойств (facecolor, edgecolor, alpha, и т. д.).

on_changed(func)[source]

Подключить func как функцию обратного вызова к изменениям значения ползунка.

Параметры:
funccallable

Функция, которая будет вызываться при изменении ползунка. Функция должна принимать кортеж из двух чисел с плавающей точкой в качестве аргумента.

Возвращает:
int

Идентификатор подключения (который можно использовать для отключения func).

set_max(max)[source]

Установить максимальное значение ползунка на max.

Параметры:
maxfloat
set_min(min)[source]

Установить минимальное значение ползунка на min.

Параметры:
minfloat
set_val(val)[source]

Установить значение ползунка на val.

Параметры:
valкортеж или массив-подобный объект float
classmatplotlib.widgets.RectangleSelector(ax, onselect, *, minspanx=0, minspany=0, useblit=False, props=None, spancoords='data', button=None, grab_range=10, handle_props=None, interactive=False, state_modifier_keys=None, drag_from_anywhere=False, ignore_event_outside=False, use_data_coordinates=False)[source]

Bases: _SelectorWidget

Выделение прямоугольной области на оси.

Для сохранения отзывчивости курсора необходимо сохранить ссылку на него.

События нажатия и отпуска курсора, сгенерированные в одной и той же координате вне выделения, приведут к очистке выделения, за исключением случаев, когда ignore_event_outside=True.

Параметры:
axAxes

Родительская ось виджета.

onselectфункция

Обработчик событий, который вызывается после события отпуска и создания выделения, изменения или удаления выделения. Он должен иметь сигнатуру:

def onselect(eclick: MouseEvent, erelease: MouseEvent)

где eclick и erelease — события нажатия и отпуска мыши MouseEvent, которые начинают и завершают выделение.

minspanxfloat, по умолчанию: 0

Выделения с размахом по оси x, меньшим или равным minspanx, удаляются (если уже существуют) или отменяются.

minspanyfloat, по умолчанию: 0

Выделения с размахом по оси y, меньшим или равным minspanx, удаляются (если уже существуют) или отменяются.

useblitbool, по умолчанию: False

Использовать ли кеширование для ускорения отрисовки (если поддерживается бэкендом). Подробнее см. учебник Ускоренное отображение с помощью кеширования.

propsdict, необязательно

Свойства, с помощью которых рисуется прямоугольник. См. Patch для допустимых свойств. По умолчанию:

dict(facecolor='red', edgecolor='black', alpha=0.2, fill=True)

spancoords{"data", "pixels"}, по умолчанию: "data"

Интерпретировать ли minspanx и minspany в координатах данных или пикселей.

buttonMouseButton, список MouseButton, по умолчанию: все кнопки

Кнопка(ы), запускающая выделение прямоугольника.

grab_rangefloat, по умолчанию: 10

Расстояние в пикселях, в пределах которого могут быть активированы элементы управления интерактивным инструментом.

handle_propsdict, необязательно

Свойства, с помощью которых рисуются интерактивные элементы управления (маркеры-объекты). См. аргументы маркера в Line2D для допустимых свойств. Значения по умолчанию определены в mpl.rcParams за исключением значения по умолчанию markeredgecolor, которое будет таким же, как и свойство edgecolor в props.

interactivebool, по умолчанию: False

Рисовать ли набор элементов управления, позволяющих взаимодействовать с виджетом после его отрисовки.

state_modifier_keysdict, необязательно

Модификаторы клавиш, которые влияют на поведение виджета. Значения изменяют значения по умолчанию:

  • "move": Перемещение существующей фигуры, по умолчанию: без модификатора.
  • "clear": Очистка текущей фигуры, по умолчанию: "escape".
  • "square": Сделать фигуру квадратной, по умолчанию: "shift".
  • "center": изменение фигуры вокруг ее центра, по умолчанию: "ctrl".
  • "rotate": Поворот фигуры вокруг ее центра между -45° и 45°, по умолчанию: "r".

"square" и "center" могут быть объединены. Квадратная фигура может быть определена в координатах данных или отображения, как определено параметром use_data_coordinates при создании селектора.

drag_from_anywherebool, по умолчанию: False

Если True, виджет можно перемещать, нажав в любом месте внутри его границ.

ignore_event_outsidebool, по умолчанию: False

Если True, событие, сгенерированное за пределами селектора, будет проигнорировано.

use_data_coordinatesbool, по умолчанию: False

Если True, квадратная форма селектора определяется в координатах данных, а не в координатах отображения.

Примеры

>>> import matplotlib.pyplot as plt
>>> import matplotlib.widgets as mwidgets
>>> fig, ax = plt.subplots()
>>> ax.plot([1, 2, 3], [10, 50, 100])
>>> def onselect(eclick, erelease):
...     print(eclick.xdata, eclick.ydata)
...     print(erelease.xdata, erelease.ydata)
>>> props = dict(facecolor='blue', alpha=0.5)
>>> rect = mwidgets.RectangleSelector(ax, onselect, interactive=True,
...                                   props=props)
>>> fig.show()
>>> rect.add_state('square')

См. также: Прямоугольные и эллиптические селекторы

propertycenter

Центр прямоугольника в координатах данных.

propertycorners

Углы прямоугольника в координатах данных слева снизу, по часовой стрелке.

propertyedge_centers

Середина сторон прямоугольника в координатах данных слева, против часовой стрелки.

propertyextents

Возвращает (xmin, xmax, ymin, ymax) в координатах данных, как определено ограничивающей рамкой до поворота.

propertygeometry

Возвращает массив формы (2, 5), содержащий x (RectangleSelector.geometry[1, :]) и y (RectangleSelector.geometry[0, :]) координаты данных четырех углов прямоугольника, начиная и заканчивая в верхнем левом углу.

propertyrotation

Поворот в градусах в интервале [-45°, 45°]. Поворот ограничен диапазоном, чтобы упростить реализацию.

classmatplotlib.widgets.Slider(ax, label, valmin, valmax, *, valinit=0.5, valfmt=None, closedmin=True, closedmax=True, slidermin=None, slidermax=None, dragging=True, valstep=None, orientation='horizontal', initcolor='r', track_color='lightgrey', handle_style=None, **kwargs)[source]

Bases: SliderBase

Ползунок, представляющий диапазон с плавающей точкой.

Создаёт ползунок от valmin до valmax в осях ax. Чтобы ползунок оставался отзывчивым, вы должны сохранить на него ссылку. Вызовите on_changed() для подключения к событию ползунка.

Атрибуты:
valfloat

Значение ползунка.

Параметры:
axAxes

Оси, в которые нужно поместить ползунок.

labelstr

Подпись ползунка.

valminfloat

Минимальное значение ползунка.

valmaxfloat

Максимальное значение ползунка.

valinitfloat, по умолчанию: 0.5

Начальное положение ползунка.

valfmtstr, по умолчанию: None

Строка с форматом %-, используемая для форматирования значения ползунка. Если None, используется ScalarFormatter.

closedminbool, по умолчанию: True

Закрыт ли интервал ползунка снизу.

closedmaxbool, по умолчанию: True

Закрыт ли интервал ползунка сверху.

sliderminSlider, по умолчанию: None

Не допускать, чтобы текущий ползунок имел значение меньше значения ползунка slidermin.

slidermaxSlider, по умолчанию: None

Не допускать, чтобы текущий ползунок имел значение больше значения ползунка slidermax.

draggingbool, по умолчанию: True

Если True, ползунок можно перетаскивать мышкой.

valstepfloat или array-like, по умолчанию: None

Если float, ползунок будет подстраиваться к кратным значениям valstep. Если массив, ползунок будет подстраиваться к значениям в массиве.

orientation{'horizontal', 'vertical'}, по умолчанию: 'horizontal'

Ориентация ползунка.

initcolorцвет, по умолчанию: 'r'

Цвет линии в позиции valinit. Устанавливается в 'none' для отсутствия линии.

track_colorцвет, по умолчанию: 'lightgrey'

Цвет фоновой дорожки. Дорожка доступна для дальнейшей стилизации через атрибут track.

handle_styledict

Свойства ручки ползунка. Значения по умолчанию:

Ключ

Значение

По умолчанию

Описание

facecolor

цвет

'white'

Цвет заливки ручки ползунка.

edgecolor

цвет

'.75'

Цвет обводки ручки ползунка.

size

int

10

Размер ручки ползунка в пунктах.

Другие значения будут преобразованы как marker{foo} и переданы конструктору Line2D. Например, handle_style = {'style'='x'} приведёт к markerstyle = 'x'.

Примечания

Дополнительные kwargs передаются в self.poly — это Rectangle, который рисует узел ползунка. Обратитесь к документации Rectangle для допустимых имён свойств (facecolor, edgecolor, alpha, и т.д.).

on_changed(func)[source]

Подключает func как функцию обратного вызова к изменениям значения ползунка.

Параметры:
funccallable

Функция, которая вызывается при изменении ползунка. Функция должна принимать одно float значение в качестве аргумента.

Возвращает:
int

Идентификатор соединения (который можно использовать для отключения func).

set_val(val)[source]

Устанавливает значение ползунка на val.

Параметры:
valfloat
classmatplotlib.widgets.SliderBase(ax, orientation, closedmin, closedmax, valmin, valmax, valfmt, dragging, valstep)[source]

Bases: AxesWidget

Базовый класс для создания виджетов ползунков. Не предназначен для прямого использования.

Для того, чтобы ползунок оставался отзывчивым, необходимо сохранить ссылку на него.

disconnect(cid)[source]

Удалить наблюдателя с идентификатором соединения cid.

Parameters:
cidint

Идентификатор соединения наблюдателя, который нужно удалить.

reset()[source]

Сбросить ползунок до начального значения.

classmatplotlib.widgets.SpanSelector(ax, onselect, direction, *, minspan=0, useblit=False, props=None, onmove_callback=None, interactive=False, button=None, handle_props=None, grab_range=10, state_modifier_keys=None, drag_from_anywhere=False, ignore_event_outside=False, snap_values=None)[source]

Bases: _SelectorWidget

Визуально выбирает диапазон min/max на одной оси и вызывает функцию с этими значениями.

Для обеспечения отзывчивости селектора необходимо сохранить ссылку на него.

Для отключения SpanSelector, установите span_selector.active в значение False. Чтобы включить его снова, установите значение в True.

События нажатия и отпускания, сгенерированные в одних и тех же координатах за пределами выделения, очистят селектор, за исключением случаев, когда ignore_event_outside=True.

Parameters:
axAxes
onselectcallable with signature func(min: float, max: float)

Функция обратного вызова, которая вызывается после события отпускания, и выделение создано, изменено или удалено.

direction{"horizontal", "vertical"}

Направление, по которому рисовать селектор диапазона.

minspanfloat, default: 0

Если выделение меньше или равно minspan, выделение удаляется (если оно уже существует) или отменяется.

useblitbool, default: False

Если True, используйте функции блиттинга, зависящие от бэкэнда, для более быстрого обновления холста. Подробнее об этом см. в руководстве Более быстрое отрисовка с помощью блиттинга.

propsdict, default: {'facecolor': 'red', 'alpha': 0.5}

Словарь свойств Patch.

onmove_callbackcallable with signature func(min: float, max: float), optional

Вызывается при перемещении мыши во время выбора диапазона.

interactivebool, default: False

Отображать ли набор маркеров, которые позволяют взаимодействовать с виджетом после его отрисовки.

buttonMouseButton или список MouseButton, по умолчанию все кнопки

Кнопки мыши, которые активируют селектор диапазона.

handle_propsdict, default: None

Свойства линий маркеров на краях диапазона. Используются только при interactive = True. Для допустимых свойств см. Line2D.

grab_rangefloat, default: 10

Расстояние в пикселях, в пределах которого могут быть активированы элементы управления интерактивного инструмента.

state_modifier_keysdict, optional

Изменяющие состояние клавиши, которые влияют на поведение виджета. Значения изменяют значения по умолчанию:

  • "clear": Очистить текущую форму, по умолчанию: "escape".
drag_from_anywherebool, default: False

Если True, виджет можно перемещать, нажав на любую область внутри его границ.

ignore_event_outsidebool, default: False

Если True, событие, сгенерированное за пределами селектора диапазона, будет проигнорировано.

snap_values1D array-like, optional

Привязать края селектора к заданным значениям.

Примеры

>>> import matplotlib.pyplot as plt
>>> import matplotlib.widgets as mwidgets
>>> fig, ax = plt.subplots()
>>> ax.plot([1, 2, 3], [10, 50, 100])
>>> def onselect(vmin, vmax):
...     print(vmin, vmax)
>>> span = mwidgets.SpanSelector(ax, onselect, 'horizontal',
...                              props=dict(facecolor='blue', alpha=0.5))
>>> fig.show()

См. также: Селектор диапазона

connect_default_events()[source]

Подключить основные события холста к методам.

propertydirection

Направление селектора диапазона: 'vertical' или 'horizontal'.

propertyextents
(float, float)

Значения в координатах данных для начальной и конечной точек текущего выделения. Если выделения нет, то начальное и конечное значения будут одинаковыми.

new_axes(ax, *, _props=None, _init=False)[source]

Установить SpanSelector для работы с новой осью.

classmatplotlib.widgets.SubplotTool(targetfig, toolfig)[source]

Bases: Widget

Инструмент для изменения параметров поддиаграммы Figure.

Parameters:
targetfigFigure

Экземпляр фигуры, параметры которой необходимо изменить.

toolfigFigure

Экземпляр фигуры, в которую будет вставлен инструмент для изменения поддиаграммы.

classmatplotlib.widgets.TextBox(ax, label, initial='', *, color='.95', hovercolor='1', label_pad=0.01, textalignment='left')[source]

Bases: AxesWidget

Поле ввода текста, не зависящее от графической среды.

Для того, чтобы поле ввода текста оставалось отзывчивым, необходимо сохранить ссылку на него.

Вызовите on_text_change для обновления при изменении текста.

Вызовите on_submit для обновления при нажатии Enter или при выходе из поля ввода.

Attributes:
axAxes

Родительский объект Axes для виджета.

labelText
colorцвет

Цвет поля ввода текста, когда курсор не наведён.

hovercolorцвет

Цвет поля ввода текста, когда курсор наведён.

Parameters:
axAxes

Объект Axes, в который будет помещено поле ввода.

labelstr

Текст метки для поля ввода.

initialstr

Начальное значение в поле ввода.

colorцвет

Цвет поля.

hovercolorцвет

Цвет поля при наведении курсора.

label_padfloat

Расстояние между меткой и правой стороной поля ввода.

textalignment{'left', 'center', 'right'}

Горизонтальное выравнивание текста.

begin_typing()[source]
disconnect(cid)[source]

Удаление наблюдателя с идентификатором соединения cid.

on_submit(func)[source]

При нажатии Enter или выходе из поля ввода вызовите func с событием.

Возвращает идентификатор соединения, который можно использовать для отключения.

on_text_change(func)[source]

При изменении текста вызовите func с событием.

Возвращает идентификатор соединения, который можно использовать для отключения.

set_val(val)[source]
stop_typing()[source]
propertytext
classmatplotlib.widgets.ToolHandles(ax, x, y, *, marker='o', marker_props=None, useblit=True)[source]

Основы: object

Управляющие элементы для инструментов холста.

Параметры:
axAxes

Диапазон Matplotlib, где отображаются управляющие элементы инструмента.

x, yОдномерные массивы

Координаты управляющих элементов.

markerстрока, по умолчанию: 'o'

Форма маркера, используемого для отображения управляющего элемента. См. plot.

marker_propsсловарь, необязательно

Дополнительные свойства маркера. См. Line2D.

useblitбулево значение, по умолчанию: True

Использовать ли блиттинг для более быстрого отрисовки (если поддерживается бэкендом). Подробности см. в руководстве Ускорение отрисовки с помощью блиттинга.

propertyartists
closest(x, y)[source]

Возвращает индекс и пиксельное расстояние до ближайшего индекса.

set_animated(val)[source]
set_data(pts, y=None)[source]

Устанавливает x и y позиции управляющих элементов.

set_visible(val)[source]
propertyx
propertyy
classmatplotlib.widgets.ToolLineHandles(ax, positions, direction, *, line_props=None, useblit=True)[source]

Bases: object

Управляющие маркеры для инструментов холста.

Параметры:
axAxes

Ось Matplotlib, на которой отображаются управляющие маркеры инструмента.

positionsОдномерный массив

Позиции маркеров в координатах данных.

direction{"горизонтально", "вертикально"}

Направление маркеров, либо 'вертикально', либо 'горизонтально'

line_propsdict, необязательно

Дополнительные свойства линии. См. Line2D.

useblitbool, по умолчанию: True

Использовать ли кеширование (blitting) для более быстрого рисования (если поддерживается бэкендом). Подробности см. в руководстве Более быстрое рендеринг с помощью blitting.

propertyartists
closest(x, y)[source]

Возвращает индекс и пиксельное расстояние до ближайшего маркера.

Параметры:
x, yfloat

Позиции x, y, от которых будет вычисляться расстояние для определения ближайшего маркера

Возвращает:
index, distanceиндекс маркера и его расстояние от позиции x, y
propertydirection

Направление маркера: 'вертикально' или 'горизонтально'.

propertypositions

Позиции маркера в координатах данных.

remove()[source]

Удалить маркеры с фигуры.

set_animated(value)[source]

Установить состояние анимации маркеров.

set_data(positions)[source]

Установить позиции x или y маркеров, в зависимости от того, вертикальные или горизонтальные линии.

Параметры:
positionsкортеж длины 2

Установить позиции маркера в координатах данных

set_visible(value)[source]

Установить видимость маркеров.

classmatplotlib.widgets.Widget[source]

Bases: object

Абстрактный базовый класс для GUI-нейтральных виджетов.

propertyactive

Является ли виджет активным?

drawon=True
eventson=True
get_active()[source]

Получить, является ли виджет активным.

ignore(event)[source]

Возвращает, следует ли игнорировать событие event.

Этот метод должен вызываться в начале любого обработчика событий.

set_active(active)[source]

Установить, является ли виджет активным.

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/widgets_api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API