matplotlib.widgets
Виджеты, независимые от GUI
Виджеты, разработанные для работы с любыми GUI-бэкендами. Для всех этих виджетов требуется предварительно создать экземпляр Axes и передать его в качестве первого параметра. Matplotlib не пытается самостоятельно управлять расположением элементов — вам нужно определить ширину и высоту Axes, необходимые для размещения виджета.
- classmatplotlib.widgets.AxesWidget(ax)[исходный код]
-
Базовый класс:
WidgetВиджет, связанный с одним объектом
Axes.Чтобы виджет оставался отзывчивым и не удалялся сборщиком мусора, пользователь должен сохранять ссылку на объект.
Это необходимо, поскольку реестр обратных вызовов хранит только слабые ссылки на функции, являющиеся методами виджета. Если на объект виджета не осталось ссылок, он может быть удален сборщиком мусора, что приведет к отключению обратных вызовов.
- Атрибуты:
-
-
ax
Axes -
Родительский объект Axes для виджета.
-
canvas
FigureCanvasBase -
Родительский холст фигуры для виджета.
-
activebool -
Активен ли виджет?
-
ax
- 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 -
Экземпляр
Axes, в который будет помещена кнопка. - labelstr
-
Текст кнопки.
- imagearray-like или PIL Image
-
Изображение, которое следует поместить на кнопку, если значение не равно None. Параметр напрямую передается в
imshow. - colorцвет
-
Цвет кнопки, когда она не активирована.
- hovercolorцвет
-
Цвет кнопки, когда указатель мыши находится над ней.
- useblitbool, по умолчанию: True
-
Использовать blitting для ускорения отрисовки, если бэкенд поддерживает эту возможность. Подробности см. в руководстве Ускорение отрисовки с помощью blitting.
Добавлено в версии 3.7.
-
ax
- 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.- Атрибуты:
-
-
ax
Axes -
Родительский объект Axes для виджета.
-
labelsсписок объектов
Text -
Текстовые метки флажков.
-
ax
Добавить флажки в экземпляр
Axesax.- Параметры:
-
-
ax
Axes -
Родительский объект 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.
-
ax
- 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 и перемещающийся вслед за указателем мыши.
Чтобы курсор оставался отзывчивым, необходимо хранить ссылку на него.
- Параметры:
-
-
ax
Axes -
Объект
Axes, к которому нужно привязать курсор. - horizOnbool, по умолчанию: True
-
Следует ли рисовать горизонтальную линию.
- vertOnbool, по умолчанию: True
-
Следует ли рисовать вертикальную линию.
- useblitbool, по умолчанию: False
-
Использовать blitting для ускорения отрисовки, если бэкенд поддерживает эту возможность. Подробности см. в руководстве Ускорение отрисовки с помощью blitting.
-
ax
- Другие параметры:
Примеры
См. Курсор.
- 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.- Параметры:
-
-
ax
Axes -
Родительские оси виджета.
- 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 в координатах данных или пикселях.
-
button
MouseButton, список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, «квадратная» фигура селектора задается в координатах данных, а не в координатах отображения.
-
ax
Примеры
- classmatplotlib.widgets.Lasso(ax, xy, callback, *, useblit=True, props=None)[source]
-
Базовые классы:
AxesWidgetКривая выделения произвольной формы.
Выбранный контур можно использовать вместе с
contains_pointдля выбора точек данных на изображении.В отличие от
LassoSelector, этот объект необходимо инициализировать начальной точкой xy, а событияLassoуничтожаются после отпускания кнопки.- Параметры:
-
-
ax
Axes -
Родительские оси виджета.
- xy(float, float)
-
Координаты начальной точки лассо.
- callbackвызываемый объект
-
При каждом отпускании кнопки мыши функция callback вызывается и получает в качестве аргумента вершины выбранного контура.
- useblitbool, по умолчанию: True
-
Использовать ли блиттинг для ускорения отрисовки (если он поддерживается бэкендом). Подробности см. в руководстве Ускорение отрисовки с помощью блиттинга.
- props: dict, необязательно
-
Свойства линии лассо. Допустимые свойства см. в
Line2D. Значения props по умолчанию:{'linestyle' : '-', 'color' : 'black', 'lw' : 2}Добавлено в версии 3.9.
-
ax
- 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)- Параметры:
-
-
ax
Axes -
Родительские оси виджета.
- onselectфункция, необязательно
-
При каждом отпускании кнопки мыши функция onselect вызывается и получает в качестве аргумента вершины выбранного контура.
- useblitbool, по умолчанию: True
-
Использовать ли блиттинг для ускорения отрисовки (если он поддерживается бэкендом). Подробности см. в руководстве Ускорение отрисовки с помощью блиттинга.
- propsdict, необязательно
-
Свойства, используемые для отрисовки линии. Допустимые свойства см. в
Line2D. Значения по умолчанию определены вmpl.rcParams. -
button
MouseButtonили списокMouseButton, необязательно -
Кнопки мыши, используемые для выделения прямоугольника. По умолчанию используется
None, что соответствует всем кнопкам.
-
ax
- 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
-
Отображать ли вертикальную линию.
- Другие параметры:
Примеры
См. Мультикурсор.
- 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, чтобы начать построение нового многоугольника.
Чтобы селектор оставался отзывчивым, необходимо сохранить ссылку на него.
- Параметры:
-
-
ax
Axes -
Родительская область 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.
-
ax
Примечания
Если после удаления точек остается только одна точка, селектор возвращается в незавершенное состояние, и можно начать построение нового многоугольника с этой точки.
Примеры
Селектор многоугольника Выбор индексов коллекции с помощью селектора многоугольника
- 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.- Атрибуты:
-
-
ax
Axes -
Родительская область Axes для виджета.
- activecolorцвет
-
Цвет выбранной кнопки.
-
labelslist of
Text -
Подписи кнопок.
- value_selectedstr
-
Текст подписи выбранной в данный момент кнопки.
- index_selectedint
-
Индекс выбранной кнопки.
-
ax
Добавляет радиокнопки в
Axes.- Параметры:
-
-
ax
Axes -
Область 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.
-
ax
- 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.- Параметры:
-
-
ax
Axes -
Родительские 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 в координатах данных или пикселях.
-
button
MouseButton, список значений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, «квадратная» форма селектора задаётся в координатах данных, а не в координатах отображения.
-
ax
Примеры
>>> 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.- Параметры:
-
-
ax
Axes -
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
-
Определяет, нужно ли отображать набор маркеров управления, позволяющих взаимодействовать с виджетом после его отрисовки.
-
button
MouseButtonили список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, необязательно
-
Привязывает края селектора к заданным значениям.
-
ax
Примеры
>>> 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.- Параметры:
-
-
targetfig
Figure -
Экземпляр фигуры, который нужно настроить.
-
toolfig
Figure -
Экземпляр фигуры, в который встраивается инструмент подграфиков.
-
targetfig
- classmatplotlib.widgets.TextBox(ax, label, initial='', *, color='.95', hovercolor='1', label_pad=0.01, textalignment='left')[исходный код]
-
Базовые классы:
AxesWidgetНезависимое от GUI поле ввода текста.
Чтобы текстовое поле оставалось отзывчивым, необходимо сохранить ссылку на него.
Вызовите
on_text_change, чтобы получать уведомления при каждом изменении текста.Вызовите
on_submit, чтобы получать уведомления каждый раз, когда пользователь нажимает Enter или покидает поле ввода текста.- Атрибуты:
-
-
ax
Axes -
Родительский объект Axes для виджета.
-
label
Text - colorцвет
-
Цвет текстового поля, когда указатель мыши не находится над ним.
- hovercolorцвет
-
Цвет текстового поля, когда указатель мыши находится над ним.
-
ax
- Параметры:
-
-
ax
Axes -
Экземпляр
Axes, в который будет помещена кнопка. - labelstr
-
Метка текстового поля.
- initialstr
-
Начальное значение в текстовом поле.
- colorцвет
-
Цвет поля.
- hovercolorцвет
-
Цвет поля, когда указатель мыши находится над ним.
- label_padfloat
-
Расстояние между меткой и правой стороной текстового поля.
- textalignment{'left', 'center', 'right'}
-
Горизонтальное положение текста.
-
ax
- 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Маркеры управления для инструментов холста.
- Параметры:
-
-
ax
Axes -
Объект Axes Matplotlib, в котором отображаются маркеры управления инструмента.
- x, yмассивы размерности 1
-
Координаты маркеров управления.
- markerstr, по умолчанию: 'o'
-
Форма маркера, используемого для отображения маркера управления. См.
plot. - marker_propsdict, необязательно
-
Дополнительные свойства маркера. См.
Line2D. - useblitbool, по умолчанию: True
-
Определяет, использовать ли blitting для ускорения отрисовки (если он поддерживается бэкендом). Подробности см. в руководстве Ускорение отрисовки с помощью blitting.
-
ax
- 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Управляющие маркеры для инструментов холста.
- Параметры:
-
-
ax
Axes -
Области Axes Matplotlib, в которой отображаются управляющие маркеры инструмента.
- positions1D array
-
Положения маркеров в координатах данных.
- direction{"horizontal", "vertical"}
-
Направление маркеров: 'vertical' или 'horizontal'
- line_propsdict, optional
-
Дополнительные свойства линии. См.
Line2D. - useblitbool, default: True
-
Использовать ли блиттинг для ускорения отрисовки (если он поддерживается бэкендом). Подробнее см. в руководстве Ускорение отрисовки с помощью блиттинга.
-
ax
- 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