matplotlib.widgets
GUI-нейтральные виджеты
Виджеты, разработанные для работы с любыми графическими интерфейсами. Все эти виджеты требуют предварительного определения экземпляра Axes и передачи его в качестве первого параметра. Matplotlib не пытается быть слишком умным в отношении макета — вам нужно будет самостоятельно определить, какой ширины и высоты вы хотите сделать ваш Axes, чтобы разместить ваш виджет.
- classmatplotlib.widgets.AxesWidget(ax)[source]
-
Bases:
WidgetВиджет, связанный с одним
Axes.Для обеспечения сохранения отзывчивости виджета и предотвращения его удаления из памяти, пользователь должен сохранить ссылку на объект.
Это необходимо, поскольку регистр обратного вызова хранит только слабые ссылки на функции, которые являются методами виджета. Если ссылок на объект виджета нет, он может быть удалён из памяти, что отсоединит обратные вызовы.
- Атрибуты:
-
-
ax
Axes -
Родительский Axes для виджета.
-
canvas
FigureCanvasBase -
Родительский холст figure для виджета.
-
activebool -
Виджет активен?
-
ax
- 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:
AxesWidgetGUI-нейтральная кнопка.
Для сохранения отзывчивости кнопки необходимо сохранить на неё ссылку. Вызовите
on_clickedдля подключения к кнопке.- Атрибуты:
- Параметры:
-
-
ax
Axes -
Экземпляр
Axes, в который будет помещена кнопка. - labelstr
-
Текст кнопки.
- imagearray-like или PIL Image
-
Изображение, которое нужно разместить в кнопке, если оно не None. Параметр напрямую передаётся в
imshow. - colorцвет
-
Цвет кнопки при отсутствии активации.
- hovercolorцвет
-
Цвет кнопки при наведении курсора.
- useblitbool, по умолчанию: True
-
Использовать blitting для ускорения отрисовки, если это поддерживается бэкендом. Подробнее см. в руководстве Более быстрое отображение с использованием blitting.
Добавлен в версии 3.7.
-
ax
- 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]
-
Bases:
AxesWidgetНабор флажков, нейтральный по отношению к GUI.
Для сохранения отзывчивости флажков необходимо сохранить ссылку на этот объект.
Подключитесь к CheckButtons с помощью метода
on_clicked.- Атрибуты:
-
-
ax
Axes -
Родительский Axes для виджета.
-
labelsсписок
Text -
Объекты текстовых меток флажков.
-
ax
Добавьте флажки к экземпляру
Axesax.- Параметры:
-
-
ax
Axes -
Родительский 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.
-
ax
- 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для использования с рамками флажка.
- classmatplotlib.widgets.Cursor(ax, *, horizOn=True, vertOn=True, useblit=False, **lineprops)[source]
-
Базовый класс:
AxesWidgetПерекрестие курсора, которое охватывает область Axes и перемещается вместе с курсором мыши.
Чтобы курсор оставался отзывчивым, необходимо сохранить ссылку на него.
- Параметры:
-
-
ax
Axes -
Область
Axesдля прикрепления курсора. - horizOnbool, по умолчанию: True
-
Отображать ли горизонтальную линию.
- vertOnbool, по умолчанию: True
-
Отображать ли вертикальную линию.
- useblitbool, по умолчанию: False
-
Использовать кеширование для ускорения рисования, если это поддерживается бэкендом. Подробности см. в руководстве Ускорение отрисовки с помощью кеширования.
-
ax
- Дополнительные параметры:
Примеры
См. 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.- Параметры:
-
-
ax
Axes -
Родительская ось виджета.
- 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 — данных или пикселей.
-
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
Примеры
- классmatplotlib.widgets.Lasso(ax, xy, callback, *, useblit=True, props=None)[source]
-
Базы:
AxesWidgetКривая выделения произвольной формы.
Выбранный путь можно использовать совместно с
contains_pointдля выбора точек данных на изображении.В отличие от
LassoSelector, этот объект должен быть инициализирован с начальной точкой xy, и событияLassoуничтожаются при отпускании.- Параметры:
-
-
ax
Axes -
Родительский 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]
- класс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)- Параметры:
-
-
ax
Axes -
Родительский Axes для виджета.
- onselectфункция
-
Всякий раз, когда лассо отпускается, функция onselect вызывается и получает вершины выбранного пути.
- useblitbool, по умолчанию: True
-
Использовать ли блиттинг для более быстрого рисования (если поддерживается бэкендом). Подробности см. в руководстве Более быстрое отображение с помощью блиттинга.
- propsdict, необязательно
-
Свойства, с которыми рисуется линия, см.
Line2Dдля допустимых свойств. Значения по умолчанию определены вmpl.rcParams. -
button
MouseButtonили списокMouseButton, необязательно -
Кнопки мыши, используемые для выделения прямоугольника. По умолчанию
None, что соответствует всем кнопкам.
-
ax
- классmatplotlib.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]
-
Bases:
WidgetОбеспечивает вертикальный (по умолчанию) и/или горизонтальный курсор, общий для нескольких осей.
Для сохранения отзывчивости курсора необходимо сохранить ссылку на него.
- Параметры:
-
- canvasобъект
-
Этот параметр полностью не используется и оставлен только для обратной совместимости.
-
axesсписок
Axes -
Axes, к которому будет прикреплен курсор. - useblitbool, по умолчанию: True
-
Использовать blitting для более быстрого рисования, если это поддерживается бэкендом. Подробности см. в руководстве Более быстрое рендеринг с помощью blitting.
- horizOnbool, по умолчанию: False
-
Определяет, рисовать ли горизонтальную линию.
- vertOnbool, по умолчанию: True
-
Определяет, рисовать ли вертикальную линию.
- Другие параметры:
Примеры
См. Многокурсор.
- 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:
-
-
ax
Axes -
Родительская ось виджета.
- 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для получения дополнительной информации.
-
ax
Примечания
Если после удаления точек остаётся только одна точка, селектор возвращается в состояние незавершенности, и вы можете начать рисовать новый многоугольник с существующей точки.
Примеры
Селектор многоугольника Выбор индексов из коллекции с помощью селектора многоугольника
- onmove(event)[source]
-
Обработчик событий перемещения курсора и валидатор.
- propertyverts
-
Вершины многоугольника в виде списка
(x, y)пар.
- classmatplotlib.widgets.RadioButtons(ax, labels, active=0, activecolor=None, *, useblit=True, label_props=None, radio_props=None)[source]
-
Bases:
AxesWidgetРадиокнопка, независимая от среды графического интерфейса.
Для сохранения реактивности кнопок необходимо сохранить ссылку на этот объект.
Подключитесь к RadioButtons с помощью метода
on_clicked.- Атрибуты:
-
-
ax
Axes -
Родительский объект Axes для виджета.
- activecolorцвет
-
Цвет выбранной кнопки.
-
labelsсписок
Text -
Метки кнопок.
- value_selectedстрока
-
Текст метки текущей выбранной кнопки.
- index_selectedцелое число
-
Индекс выбранной кнопки.
-
ax
Добавление радиокнопок на
Axes.- Параметры:
-
-
ax
Axes -
Объект 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.
-
ax
- свойство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.- Параметры:
-
-
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
Примеры
>>> 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:
-
-
ax
Axes -
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
-
Отображать ли набор маркеров, которые позволяют взаимодействовать с виджетом после его отрисовки.
-
button
MouseButtonили список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
-
Привязать края селектора к заданным значениям.
-
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()[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:
-
-
targetfig
Figure -
Экземпляр фигуры, параметры которой необходимо изменить.
-
toolfig
Figure -
Экземпляр фигуры, в которую будет вставлен инструмент для изменения поддиаграммы.
-
targetfig
- 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:
-
-
ax
Axes -
Родительский объект
Axesдля виджета. -
label
Text - colorцвет
-
Цвет поля ввода текста, когда курсор не наведён.
- hovercolorцвет
-
Цвет поля ввода текста, когда курсор наведён.
-
ax
- Parameters:
-
-
ax
Axes -
Объект
Axes, в который будет помещено поле ввода. - labelstr
-
Текст метки для поля ввода.
- initialstr
-
Начальное значение в поле ввода.
- colorцвет
-
Цвет поля.
- hovercolorцвет
-
Цвет поля при наведении курсора.
- label_padfloat
-
Расстояние между меткой и правой стороной поля ввода.
- textalignment{'left', 'center', 'right'}
-
Горизонтальное выравнивание текста.
-
ax
- 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Управляющие элементы для инструментов холста.
- Параметры:
-
-
ax
Axes -
Диапазон Matplotlib, где отображаются управляющие элементы инструмента.
- x, yОдномерные массивы
-
Координаты управляющих элементов.
- markerстрока, по умолчанию: 'o'
-
Форма маркера, используемого для отображения управляющего элемента. См.
plot. - marker_propsсловарь, необязательно
-
Дополнительные свойства маркера. См.
Line2D. - useblitбулево значение, по умолчанию: True
-
Использовать ли блиттинг для более быстрого отрисовки (если поддерживается бэкендом). Подробности см. в руководстве Ускорение отрисовки с помощью блиттинга.
-
ax
- 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Управляющие маркеры для инструментов холста.
- Параметры:
-
-
ax
Axes -
Ось Matplotlib, на которой отображаются управляющие маркеры инструмента.
- positionsОдномерный массив
-
Позиции маркеров в координатах данных.
- direction{"горизонтально", "вертикально"}
-
Направление маркеров, либо 'вертикально', либо 'горизонтально'
- line_propsdict, необязательно
-
Дополнительные свойства линии. См.
Line2D. - useblitbool, по умолчанию: True
-
Использовать ли кеширование (blitting) для более быстрого рисования (если поддерживается бэкендом). Подробности см. в руководстве Более быстрое рендеринг с помощью blitting.
-
ax
- 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