Spec-Zone.ru › Matplotlib

matplotlib.widgets

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

Виджеты, независимые от GUI

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

classmatplotlib.widgets.AxesWidget(ax)[исходный код]

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

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

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

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

Атрибуты:
axAxes

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

canvasFigureCanvasBase

Родительский холст фигуры для виджета.

activebool

Активен ли виджет?

propertycanvas
connect_event(event, callback)[исходный код]

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

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

disconnect_events()[исходный код]

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

classmatplotlib.widgets.Button(ax, label, image=None, color='0.85', hovercolor='0.95', *, useblit=True)[исходный код]

Базовый класс: 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)[исходный код]

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

on_clicked(func)[исходный код]

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

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

classmatplotlib.widgets.CheckButtons(ax, labels, actives=None, *, useblit=True, label_props=None, frame_props=None, check_props=None)[исходный код]

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

Набор флажков, независимый от GUI.

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

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

Атрибуты:
axAxes

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

labelsсписок объектов Text

Текстовые метки флажков.

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

Параметры:
axAxes

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

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

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

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

Исходные состояния флажков. Длина списка должна совпадать с длиной labels. Если параметр не задан, все флажки сняты.

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

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

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

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

Словарь свойств Text, используемых для меток. Значением каждого элемента словаря должен быть список как минимум из одного элемента. Если длина списка равна M, его значения циклически повторяются: N-я метка получает свойство с индексом (N mod M).

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

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

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

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

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

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

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

clear()[исходный код]

Снять все флажки.

disconnect(cid)[исходный код]

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

get_checked_labels()[исходный код]

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

get_status()[исходный код]

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

on_clicked(func)[исходный код]

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

Параметры:
funcвызываемый объект

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

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

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

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

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

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

Параметры:
indexint

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

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

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

Вызывает исключения:
ValueError

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

TypeError

Если state не является логическим значением.

set_check_props(props)[исходный код]

Задать свойства отметок флажков.

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

Параметры:
propsdict

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

set_frame_props(props)[исходный код]

Задать свойства рамок флажков.

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

Параметры:
propsdict

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

set_label_props(props)[исходный код]

Задать свойства меток Text.

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

Параметры:
propsdict

Словарь свойств Text, используемых для меток. Формат такой же, как у аргумента label_props класса CheckButtons.

classmatplotlib.widgets.Cursor(ax, *, horizOn=True, vertOn=True, useblit=False, **lineprops)[исходный код]

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

Перекрестный курсор, охватывающий Axes и перемещающийся вслед за указателем мыши.

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

Параметры:
axAxes

Объект Axes, к которому нужно привязать курсор.

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

Следует ли рисовать горизонтальную линию.

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

Следует ли рисовать вертикальную линию.

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

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

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

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

Примеры

См. Курсор.

clear(event)[исходный код]

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

onmove(event)[исходный код]

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

classmatplotlib.widgets.EllipseSelector(ax, onselect=None, *, 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]

Базовые классы: RectangleSelector

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

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

События нажатия и отпускания, произошедшие в одних и тех же координатах за пределами выделения, сбросят селектор, кроме случая, когда 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, «квадратная» фигура селектора задается в координатах данных, а не в координатах отображения.

Примеры

Селекторы прямоугольной и эллиптической областей

classmatplotlib.widgets.Lasso(ax, xy, callback, *, useblit=True, props=None)[source]

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

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

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

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

Параметры:
axAxes

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

xy(float, float)

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

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

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

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

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

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

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

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

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

onmove(event)[source]
onrelease(event)[source]
classmatplotlib.widgets.LassoSelector(ax, onselect=None, *, useblit=True, props=None, button=None)[source]

Базовые классы: _SelectorWidget

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

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

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

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

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

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

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

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

onselectфункция, необязательно

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

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

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

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

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

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

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

classmatplotlib.widgets.LockDraw[source]

Базовые классы: object

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

available(o)[source]

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

isowner(o)[source]

Возвращает, принадлежит ли эта блокировка объекту o.

locked()[source]

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

release(o)[source]

Снимает блокировку с объекта o.

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

Базовые классы: Widget

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

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

Параметры:
canvasobject

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

axesсписок Axes

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

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

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

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

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

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

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

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

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

Примеры

См. Мультикурсор.

clear(event)[source]

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

connect()[source]

Подключить обработчики событий.

disconnect()[source]

Отключить обработчики событий.

onmove(event)[source]
classmatplotlib.widgets.PolygonSelector(ax, onselect=None, *, useblit=False, props=None, handle_props=None, grab_range=10, draw_bounding_box=False, box_handle_props=None, box_props=None)[исходный код]

Базовые классы: _SelectorWidget

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

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

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

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

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

Параметры:
axAxes

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

onselectfunction, optional

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

useblitbool, default: False

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

propsdict, optional

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

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

Свойства Artist для маркеров, отображаемых в вершинах многоугольника. Допустимые свойства см. в описании аргументов маркера в документации 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)[исходный код]

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

propertyverts

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

classmatplotlib.widgets.RadioButtons(ax, labels, active=0, activecolor=None, *, useblit=True, label_props=None, radio_props=None)[исходный код]

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

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

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

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

Атрибуты:
axAxes

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

activecolorцвет

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

labelslist of Text

Подписи кнопок.

value_selectedstr

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

index_selectedint

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

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

Параметры:
axAxes

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

labelslist of str

Подписи кнопок.

activeint

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

activecolorцвет

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

useblitbool, default: True

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

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

label_propsdict of lists, optional

Словарь свойств Text, используемых для подписей. Значение каждого элемента словаря должно быть списком как минимум из одного элемента. Если длина списка равна M, его значения циклически повторяются: N-я подпись получает свойство с индексом (N mod M).

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

radio_propsdict, optional

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

Примечание

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

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

propertyactivecolor
clear()[исходный код]

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

disconnect(cid)[исходный код]

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

on_clicked(func)[исходный код]

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

Параметры:
funccallable

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

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

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

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

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

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

Параметры:
indexint

Индекс активируемой кнопки.

Вызывает исключение:
ValueError

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

set_label_props(props)[исходный код]

Задать свойства подписей Text.

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

Параметры:
propsdict

Словарь свойств Text, используемых для подписей. Формат такой же, как у аргумента label_props класса RadioButtons.

set_radio_props(props)[исходный код]

Задать свойства подписей Text.

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

Параметры:
propsdict

Словарь свойств 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)[исходный код]

Базовые классы: SliderBase

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

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

Атрибуты:
valtuple of float

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

Параметры:
axAxes

Область Axes, в которую помещается ползунок.

labelstr

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

valminfloat

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

valmaxfloat

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

valinittuple of float or None, default: None

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

valfmtstr, default: None

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

closedminbool, default: True

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

closedmaxbool, default: True

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

draggingbool, default: True

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

valstepfloat, default: None

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

orientation{'horizontal', 'vertical'}, default: 'horizontal'

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

track_colorцвет, default: 'lightgrey'

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

handle_styledict

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

Ключ

Значение

По умолчанию

Описание

facecolor

color

'white'

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

edgecolor

color

'.75'

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

size

int

10

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

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

Примечания

Дополнительные именованные аргументы передаются в self.poly — объект Polygon, который отрисовывает ручку ползунка. Допустимые имена свойств см. в документации Polygon (facecolor, edgecolor, alpha и т. д.).

on_changed(func)[исходный код]

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

Параметры:
funccallable

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

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

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

set_max(max)[исходный код]

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

Параметры:
maxfloat
set_min(min)[исходный код]

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

Параметры:
minfloat
set_val(val)[исходный код]

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

Параметры:
valtuple or array-like of float
classmatplotlib.widgets.RectangleSelector(ax, onselect=None, *, 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)[исходный код]

Базовые классы: _SelectorWidget

Выбрать прямоугольную область Axes.

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

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

Параметры:
axAxes

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

onselectфункция, необязательно

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

def onselect(eclick: MouseEvent, erelease: MouseEvent)

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

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

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

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

Выделения с протяжённостью по y, меньшей или равной 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, необязательно

Свойства, используемые для отрисовки интерактивных маркеров (объектов Marker). Допустимые свойства см. в аргументах маркера для 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)[исходный код]

Базовые классы: SliderBase

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

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

Атрибуты:
valfloat

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

Параметры:
axAxes

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

labelstr

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

valminfloat

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

valmaxfloat

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

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

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

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

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

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

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

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

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

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

Запрещает текущему ползунку принимать значение меньше значения ползунка slidermin.

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

Запрещает текущему ползунку принимать значение больше значения ползунка slidermax.

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

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

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

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

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

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

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

Цвет линии в положении valinit. Установите значение 'none', чтобы скрыть линию.

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

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

handle_styledict

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

Ключ

Значение

По умолчанию

Описание

facecolor

color

'white'

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

edgecolor

color

'.75'

Цвет края маркера ползунка.

size

int

10

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

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

Примечания

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

on_changed(func)[исходный код]

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

Параметры:
funcвызываемый объект

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

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

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

set_val(val)[исходный код]

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

Параметры:
valfloat
classmatplotlib.widgets.SliderBase(ax, orientation, closedmin, closedmax, valmin, valmax, valfmt, dragging, valstep)[исходный код]

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

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

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

disconnect(cid)[исходный код]

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

Параметры:
cidint

Идентификатор подключения удаляемого наблюдателя.

reset()[исходный код]

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

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)[исходный код]

Базовые классы: _SelectorWidget

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

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

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

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

Параметры:
axAxes
onselectвызываемый объект с сигнатурой func(min: float, max: float)

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

direction{"horizontal", "vertical"}

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

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

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

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

Если значение True, для ускорения обновления холста используются зависящие от бэкенда возможности blitting. Подробности см. в руководстве Ускорение отрисовки с помощью blitting.

propsdict, по умолчанию: {'facecolor': 'red', 'alpha': 0.5}

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

onmove_callbackвызываемый объект с сигнатурой func(min: float, max: float), необязательно

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

snap_valuesмассивоподобный объект размерности 1, необязательно

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

Примеры

>>> 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()[исходный код]

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

propertydirection

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

propertyextents
(float, float)

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

new_axes(ax, *, _props=None, _init=False)[исходный код]

Настраивает SpanSelector для работы с новым объектом Axes.

classmatplotlib.widgets.SubplotTool(targetfig, toolfig)[исходный код]

Базовые классы: Widget

Инструмент для настройки параметров подграфиков объекта Figure.

Параметры:
targetfigFigure

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

toolfigFigure

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

classmatplotlib.widgets.TextBox(ax, label, initial='', *, color='.95', hovercolor='1', label_pad=0.01, textalignment='left')[исходный код]

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

Независимое от GUI поле ввода текста.

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

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

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

Атрибуты:
axAxes

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

labelText
colorцвет

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

hovercolorцвет

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

Параметры:
axAxes

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

labelstr

Метка текстового поля.

initialstr

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

colorцвет

Цвет поля.

hovercolorцвет

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

label_padfloat

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

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

Горизонтальное положение текста.

begin_typing()[исходный код]
disconnect(cid)[исходный код]

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

on_submit(func)[исходный код]

Когда пользователь нажимает Enter или покидает поле отправки, вызывает эту функцию func с событием.

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

on_text_change(func)[исходный код]

При изменении текста вызывает эту функцию func с событием.

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

set_val(val)[исходный код]
stop_typing()[исходный код]
propertytext
classmatplotlib.widgets.ToolHandles(ax, x, y, *, marker='o', marker_props=None, useblit=True)[исходный код]

Базовые классы: object

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

Параметры:
axAxes

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

x, yмассивы размерности 1

Координаты маркеров управления.

markerstr, по умолчанию: 'o'

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

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

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

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

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

propertyartists
closest(x, y)[исходный код]

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

set_animated(val)[исходный код]
set_data(pts, y=None)[исходный код]

Задает положения маркеров управления по x и y.

set_visible(val)[исходный код]
propertyx
propertyy
classmatplotlib.widgets.ToolLineHandles(ax, positions, direction, *, line_props=None, useblit=True)[source]

Bases: object

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

Параметры:
axAxes

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

positions1D array

Положения маркеров в координатах данных.

direction{"horizontal", "vertical"}

Направление маркеров: 'vertical' или 'horizontal'

line_propsdict, optional

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

useblitbool, default: True

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

propertyartists
closest(x, y)[source]

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

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

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

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

до положения x, y

propertydirection

Направление маркера: 'vertical' или 'horizontal'.

propertypositions

Положения маркера в координатах данных.

remove()[source]

Удаляет маркеры из фигуры.

set_animated(value)[source]

Задает состояние анимации маркеров.

set_data(positions)[source]

Задает координаты x или y маркеров в зависимости от того, являются линии вертикальными или горизонтальными.

Параметры:
positionstuple of length 2

Задает положения маркера в координатах данных

set_visible(value)[source]

Задает состояние видимости маркеров.

classmatplotlib.widgets.Widget[source]

Bases: object

Абстрактный базовый класс для виджетов, независимых от графического интерфейса.

propertyactive

Активен ли виджет?

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

Возвращает, активен ли виджет.

ignore(event)[source]

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

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

set_active(active)[source]

Задает активность виджета.

© 2012–2026 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