matplotlib.widgets
Виджеты, независимые от GUI
Виджеты, разработанные для работы с любыми графическими интерфейсами. Все эти виджеты требуют предварительного определения экземпляра matplotlib.axes.Axes и передачи его в качестве первого параметра. Matplotlib не пытается быть слишком умным в отношении макета — вам придется определить желаемую ширину и высоту вашего Axes для размещения виджета.
- classmatplotlib.widgets.AxesWidget(ax)[исходный код]
-
Базовые классы:
WidgetВиджет, связанный с одним
Axes.Для обеспечения реагирования и предотвращения сборки мусора виджета, пользователь должен сохранить ссылку на объект.
Это необходимо, так как реестр обратных вызовов хранит только слабые ссылки на функции, которые являются методами виджета. Если нет ссылок на объект виджета, он может быть собран сборщиком мусора, что приведет к разрыву обратных вызовов.
- Атрибуты:
-
-
ax
Axes -
Родительский Axes для виджета.
-
canvas
FigureCanvasBase -
Родительский холст фигуры для виджета.
-
activebool -
Является ли виджет активным?
-
ax
- 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Кнопка, нейтральная по отношению к графическому интерфейсу.
Для сохранения реакции кнопки необходимо сохранить ссылку на неё. Вызовите
on_clickedдля подключения обработчика.- Атрибуты:
-
- ax
-
Объект
matplotlib.axes.Axes, в который отрисовывается кнопка. - label
-
Экземпляр
matplotlib.text.Text. - color
-
Цвет кнопки при отсутствии наведения.
- hovercolor
-
Цвет кнопки при наведении.
- Параметры:
-
-
ax
Axes -
Объект
Axes, в который будет размещена кнопка. - labelstr
-
Текст кнопки.
- imagearray-like или PIL Image
-
Изображение для размещения в кнопке, если не None. Параметр передаётся напрямую в
imshow. - colorцвет
-
Цвет кнопки при отсутствии активации.
- hovercolorцвет
-
Цвет кнопки при наведении курсора.
- useblitbool, по умолчанию: True
-
Использовать кеширование (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Нейтральный для графических интерфейсов набор флажков.
Для того, чтобы флажки оставались реагирующими, необходимо сохранить ссылку на этот объект.
Подключитесь к флажкам с помощью метода
on_clicked.- Атрибуты:
-
-
ax
Axes -
Родительский Axes для виджета.
-
labelsсписок
Text -
rectanglesсписокRectangle -
[Устарело]
-
linesсписок пар (Line2D,Line2D) -
[Устарело]
-
ax
Добавьте флажки в экземпляр
matplotlib.axes.Axesax.- Параметры:
-
-
ax
Axes -
Родительский Axes для виджета.
- labelsсписок строк
-
Метки флажков.
- activesсписок булевых значений, необязательно
-
Начальные состояния флажков. Список должен иметь такую же длину, как и labels. Если не указано, все флажки будут сняты.
- useblitbool, по умолчанию: True
-
Использовать blitting для более быстрого рисования, если это поддерживается бэкэндом. Подробности см. в руководстве Более быстрое отображение с помощью blitting.
Новое в версии 3.7.
- label_propsсловарь, необязательно
-
Словарь свойств
Textдля меток.Новое в версии 3.7.
- frame_propsсловарь, необязательно
-
Словарь свойств коллекции
Collectionдля рамки флажка. По умолчанию используется размер (размер шрифта метки / 2)**2, черный цвет контура, без цвета заливки и ширина линии 1.0.Новое в версии 3.7.
- check_propsсловарь, необязательно
-
Словарь свойств коллекции
Collectionдля отметки флажка. По умолчанию используется размер (размер шрифта метки / 2)**2, черный цвет, и ширина линии 1.0.Новое в версии 3.7.
-
ax
- disconnect(cid)[исходный код]
-
Удалить наблюдателя с идентификатором подключения cid.
- get_status()[исходный код]
-
Возвращает список статусов (True/False) всех флажков.
- propertylines[исходный код]
-
[Устарело]
Примечания
Устарело начиная с версии 3.7: Любые пользовательские стили свойств могут быть потеряны.
- on_clicked(func)[исходный код]
-
Подключает функцию обратного вызова func к событиям нажатия на кнопку.
Возвращает идентификатор подключения, который можно использовать для отключения обратного вызова.
- propertyrectangles[исходный код]
-
[Устарело]
Примечания
Устарело начиная с версии 3.7: Любые пользовательские стили свойств могут быть потеряны.
- set_active(index)[исходный код]
-
Переключает (активирует или деактивирует) флажок по индексу.
Обратные вызовы будут вызваны, если
eventsonравно True.- Параметры:
-
- indexint
-
Индекс флажка для переключения.
- Исключения:
-
- ValueError
-
Если index недопустим.
- set_check_props(props)[исходный код]
-
Устанавливает свойства отметки флажка.
Новое в версии 3.7.
- Параметры:
-
- propsсловарь
-
Словарь свойств
Collectionдля отметки флажка.
- set_frame_props(props)[исходный код]
-
Устанавливает свойства рамок флажка.
Новое в версии 3.7.
- Параметры:
-
- propsсловарь
-
Словарь свойств
Collectionдля рамок флажка.
- classmatplotlib.widgets.Cursor(ax, *, horizOn=True, vertOn=True, useblit=False, **lineprops)[исходный код]
-
Базовый класс:
AxesWidgetПерекрестие-курсор, охватывающее область осей и перемещающееся вслед за курсором мыши.
Чтобы курсор оставался отзывчивым, необходимо сохранить ссылку на него.
- Параметры:
-
-
ax
Axes -
Объект
Axes, к которому нужно прикрепить курсор. - horizOnbool, по умолчанию: True
-
Отображать ли горизонтальную линию.
- vertOnbool, по умолчанию: True
-
Отображать ли вертикальную линию.
- useblitbool, по умолчанию: False
-
Использовать буферизацию для более быстрого отображения, если это поддерживается графическим интерфейсом. Подробнее см. руководство Более быстрое отображение с помощью буферизации.
-
ax
- Другие параметры:
Примеры
См. Курсор.
- clear(event)[исходный код]
-
Внутренний обработчик событий для очистки курсора.
- onmove(event)[исходный код]
-
Внутренний обработчик событий для отображения курсора при перемещении мыши.
- 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)[исходный код]
-
Базовый класс:
RectangleSelectorВыбрать эллиптическую область осей.
Чтобы курсор оставался отзывчивым, необходимо сохранить ссылку на него.
События нажатия и отпускания мыши, сгенерированные в одних и тех же координатах вне выделения, приведут к удалению выделения, за исключением случаев, когда
ignore_event_outside=True.- Параметры:
-
-
ax
Axes -
Родительские оси виджета.
- onselectфункция
-
Функция обратного вызова, вызываемая после события отпускания мыши, при создании, изменении или удалении выделения. Она должна иметь следующий вид:
def onselect(eclick: MouseEvent, erelease: MouseEvent)
где eclick и erelease — события нажатия и отпускания мыши
MouseEvent, которые инициируют и завершают выбор. - minspanxfloat, по умолчанию: 0
-
Выделения с размером по оси x, меньшим или равным minspanx, удаляются (если уже существуют) или отменяются.
- minspanyfloat, по умолчанию: 0
-
Выделения с размером по оси y, меньшим или равным minspany, удаляются (если уже существуют) или отменяются.
- useblitbool, по умолчанию: False
-
Использовать ли кеширование для более быстрого отображения (если поддерживается бэкендом). Подробнее см. руководство Более быстрое отображение с помощью кеширования.
- propsdict, необязательно
-
Свойства, с помощью которых отрисовывается эллипс. Допустимые свойства см. в
matplotlib.patches.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, необязательно
-
Свойства, с помощью которых отрисовываются интерактивные ручки (маркеры). Допустимые свойства см. в аргументах маркеров
matplotlib.lines.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)[исходный код]
-
Базовые классы:
AxesWidgetКривая выделения произвольной формы.
Выбранный путь можно использовать совместно с
contains_pointдля выбора точек данных из изображения.В отличие от
LassoSelector, этот класс необходимо инициализировать с начальной точкой xy, а объектLassoуничтожается при отпускании кнопки мыши.- Параметры:
-
-
ax
Axes -
Родительский Axes для виджета.
- xy(float, float)
-
Координаты начала выделения.
- callbackвызываемый объект
-
При отпускании кнопки мыши функция callback вызывается с вершинами выбранного пути в качестве аргумента.
- useblitbool, по умолчанию: True
-
Использовать ли ускорение рисования с помощью blitting (если поддерживается бэкэндом). Подробности см. в руководстве Ускоренное отображение с помощью blitting.
-
ax
- onmove(event)[исходный код]
- onrelease(event)[исходный код]
- классmatplotlib.widgets.LassoSelector(ax, onselect, *, useblit=True, props=None, button=None)[исходный код]
-
Базовые классы:
_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
-
Использовать ли ускорение рисования с помощью blitting (если поддерживается бэкэндом). Подробности см. в руководстве Ускоренное отображение с помощью blitting.
- propsdict, необязательный
-
Свойства, с которыми рисуется линия; допустимые свойства см. в
matplotlib.lines.Line2D. Значения по умолчанию определены вmpl.rcParams. -
button
MouseButtonили список объектовMouseButton, необязательный -
Кнопки мыши, используемые для выделения прямоугольника. По умолчанию
None, что соответствует всем кнопкам.
-
ax
- классmatplotlib.widgets.LockDraw[исходный код]
-
Базовые классы:
objectНекоторые виджеты, например курсор, рисуют на холсте, и это не всегда желательно, например когда панель инструментов находится в режиме масштабирования по прямоугольнику и рисуется прямоугольник. Чтобы избежать этого, виджет может получить блокировку холста с помощью
canvas.widgetlock(widget)перед рисованием на холсте; это предотвратит рисование других виджетов в это же время (если они также пытаются получить блокировку в первую очередь).- available(o)[исходный код]
-
Возвращает, доступно ли рисование для o.
- isowner(o)[исходный код]
-
Возвращает, владеет ли o этой блокировкой.
- locked()[исходный код]
-
Возвращает, удерживается ли блокировка в данный момент владельцем.
- release(o)[исходный код]
-
Освобождает блокировку, удерживаемую o.
- classmatplotlib.widgets.MultiCursor(canvas, axes, *, useblit=True, horizOn=False, vertOn=True, **lineprops)[исходный код]
-
Основания:
WidgetОбеспечивает вертикальный (по умолчанию) и/или горизонтальный курсор, общий для нескольких областей Axes.
Для сохранения отзывчивости курсора необходимо сохранить ссылку на него.
- Параметры:
-
- canvasobject
-
Этот параметр полностью не используется и сохранён только для обратной совместимости.
-
axesсписок
matplotlib.axes.Axes -
Axes, к которым нужно прикрепить курсор. - useblitbool, по умолчанию: True
-
Использовать blitting для более быстрого отрисовки, если это поддерживается бэкэндом. Подробнее см. учебник Более быстрое рендеринг с помощью blitting.
- horizOnbool, по умолчанию: False
-
Рисовать ли горизонтальную линию.
- vertOnbool, по умолчанию: True
-
Рисовать ли вертикальную линию.
- Дополнительные параметры:
Примеры
См. Мультикурсор.
- background()[исходный код]
-
[Устарело]
Замечания
Устарело начиная с версии 3.6:
- propertycanvas[исходный код]
-
[Устарело]
Замечания
Устарело начиная с версии 3.6:
- clear(event)[исходный код]
-
Очистить курсор.
- connect()[исходный код]
-
Подключить события.
- disconnect()[исходный код]
-
Отключить события.
- needclear()[исходный код]
-
[Устарело]
Замечания
Устарело начиная с версии 3.7:
- onmove(event)[исходный код]
- 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)[исходный код]
-
Основания:
_SelectorWidgetВыделить область многоугольника на осях.
Установите вершины щелчком мыши и выполните выбор, завершив многоугольник (щелкнув по первой вершине). После построения отдельные вершины можно перемещать, нажав и удерживая левую кнопку мыши, или удалять, нажав правую кнопку мыши.
Кроме того, можно использовать следующие модификаторы клавиш:
- Удерживайте ctrl и щелкайте и перетаскивайте вершину, чтобы переместить её перед завершением многоугольника.
- Удерживайте клавишу shift и щелкайте и перетаскивайте в любом месте осей, чтобы переместить все вершины.
- Нажмите клавишу esc, чтобы начать новый многоугольник.
Чтобы селектор оставался отзывчивым, необходимо сохранить на него ссылку.
- Параметры:
-
-
ax
Axes -
Родительские оси виджета.
- onselectфункция
-
Когда многоугольник завершен или изменен после завершения, функция onselect вызывается и получает список вершин в виде
(xdata, ydata)кортежей. - useblitbool, по умолчанию: False
-
Использовать ли кеширование для более быстрого отрисовки (если поддерживается бэкендом). Подробности см. в руководстве Более быстрое отображение с помощью кеширования.
- propsdict, необязательно
-
Свойства, с которыми рисуется линия, см.
matplotlib.lines.Line2Dдля допустимых свойств. По умолчанию:dict(color='k', linestyle='-', linewidth=2, alpha=0.5) - handle_propsdict, необязательно
-
Свойства элементов для маркеров, нарисованных в вершинах многоугольника. См. аргументы маркеров в
matplotlib.lines.Line2Dдля допустимых свойств. Значения по умолчанию определены вmpl.rcParamsза исключением значения по умолчаниюmarkeredgecolor, которое будет таким же, как свойствоcolorв props. - grab_rangefloat, по умолчанию: 10
-
Вершина выбирается (для завершения многоугольника или перемещения вершины), если щелчок мыши находится в пределах grab_range пикселей от вершины.
- draw_bounding_boxbool, необязательно
-
Если
True, вокруг селектора многоугольника будет нарисована рамка. Эта рамка может использоваться для перемещения и изменения размера селектора. - box_handle_propsdict, необязательно
-
Свойства для установки для ручек рамки. См. документацию для аргумента handle_props в
RectangleSelectorдля получения дополнительной информации. - box_propsdict, необязательно
-
Свойства для установки для рамки. См. документацию для аргумента 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Радиокнопка, не зависящая от GUI.
Для того, чтобы кнопки оставались отзывчивыми, необходимо сохранить ссылку на этот объект.
Подключитесь к RadioButtons с помощью метода
on_clicked.- Атрибуты:
-
-
ax
Axes -
Родительский объект Axes для виджета.
- activecolorцвет
-
Цвет выбранной кнопки.
-
labelsсписок
Text -
Метки кнопок.
-
circlesсписокCircle -
[Устарело]
- value_selectedстрока
-
Текст метки текущей выбранной кнопки.
-
ax
Добавление радиокнопок в
Axes.- Параметры:
-
-
ax
Axes -
Объект Axes, в который нужно добавить кнопки.
- labelsсписок строк
-
Метки кнопок.
- activeцелое число
-
Индекс выбранной по умолчанию кнопки.
- activecolorцвет
-
Цвет выбранной кнопки. По умолчанию —
'blue'(если не указано здесь или в radio_props). - useblitbool, по умолчанию: True
-
Использовать блиттинг для более быстрого рисования, если это поддерживается бэкендом. Подробнее см. учебник Более быстрая отрисовка с помощью блиттинга.
Добавлена в версии 3.7.
- label_propsсловарь или список словарей, необязательно
-
Словарь свойств
Text, которые будут использоваться для меток.Добавлена в версии 3.7.
- radio_propsсловарь, необязательно
-
Словарь свойств коллекции scatter
Collection, которые будут использоваться для радиокнопок. По умолчанию размер (размер шрифта метки / 2)**2, черный edgecolor и facecolor, равный activecolor (при активации).Примечание
Если в radio_props указан facecolor, он переопределит activecolor. Это можно использовать, чтобы задать активный цвет для каждой кнопки.
Добавлена в версии 3.7.
-
ax
- propertyactivecolor
- propertycircles[исходный код]
-
[Устарело]
Примечания
Устарело начиная с версии 3.7: Любые пользовательские свойства стилизации могут быть утеряны.
- disconnect(cid)[исходный код]
-
Удаление наблюдателя с идентификатором соединения cid.
- on_clicked(func)[исходный код]
-
Подключение функции обратного вызова func к событиям нажатия на кнопку.
Возвращает идентификатор соединения, который можно использовать для отключения обратного вызова.
- set_active(index)[исходный код]
-
Выбрать кнопку с номером index.
Обратные вызовы будут вызваны, если
eventsonимеет значение True.
- set_label_props(props)[исходный код]
-
Установка свойств меток
Text.Добавлена в версии 3.7.
- Параметры:
-
- propsсловарь
-
Словарь свойств
Text, которые будут использоваться для меток.
- set_radio_props(props)[исходный код]
-
Установка свойств радиокнопок
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)[исходный код]
-
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_styleсловарь
-
Свойства делений ползунка. Значения по умолчанию:
Ключ
Значение
По умолчанию
Описание
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)[исходный код]
-
Подключает func в качестве функции обратного вызова к изменениям значения ползунка.
- Параметры:
-
- funccallable
-
Функция, которая будет вызываться при изменении ползунка. Функция должна принимать кортеж из двух значений с плавающей точкой в качестве аргумента.
- Возвращает:
-
- int
-
Идентификатор соединения (который может быть использован для отключения func).
- set_max(max)[исходный код]
-
Устанавливает максимальное значение ползунка в max.
- Параметры:
-
- maxfloat
- set_min(min)[исходный код]
-
Устанавливает минимальное значение ползунка в min.
- Параметры:
-
- minfloat
- set_val(val)[исходный код]
-
Устанавливает значение ползунка в 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)[исходный код]
-
Основан на
_SelectorWidgetВыделение прямоугольной области на оси.
Для сохранения отзывчивости курсора необходимо сохранить ссылку на него.
События нажатия и отпускания кнопки мыши, сгенерированные в одних и тех же координатах вне выделения, приведут к очистке селектора, за исключением случаев, когда
ignore_event_outside=True- Параметры:
-
-
ax
Axes -
Родительская ось виджета.
- onselectфункция
-
Функция обратного вызова, которая вызывается после события отпускания кнопки мыши и создания, изменения или удаления выделения. Она должна иметь следующий синтаксис:
def onselect(eclick: MouseEvent, erelease: MouseEvent)
где eclick и erelease — события нажатия и отпускания кнопки мыши
MouseEvent, которые начинают и завершают выделение. - minspanxfloat, по умолчанию: 0
-
Выделения с шириной менее или равной minspanx удаляются (если уже существуют) или отменяются.
- minspanyfloat, по умолчанию: 0
-
Выделения с высотой менее или равной minspanx удаляются (если уже существуют) или отменяются.
- useblitbool, по умолчанию: False
-
Использовать ли блиттинг для более быстрой отрисовки (если поддерживается бэкендом). Подробности см. в руководстве Более быстрая отрисовка с использованием блиттинга.
- propsdict, необязательно
-
Свойства, с помощью которых рисуется прямоугольник. См.
matplotlib.patches.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, необязательно
-
Свойства, с помощью которых рисуются интерактивные маркеры (маркеры объектов). См. аргументы маркеров в
matplotlib.lines.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)[исходный код]
-
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 или массив, по умолчанию: None
-
Если число, ползунок будет устанавливаться на кратные valstep. Если массив, ползунок будет устанавливаться на значения из массива.
- orientation{'horizontal', 'vertical'}, по умолчанию: 'horizontal'
-
Направление ползунка.
- initcolorцвет, по умолчанию: 'r'
-
Цвет линии на позиции valinit. Установите в
'none'для удаления линии. - track_colorцвет, по умолчанию: 'lightgrey'
-
Цвет фоновой дорожки. Доступ к дорожке для дальнейшей стилизации через атрибут track.
- handle_styledict
-
Свойства ручки ползунка. Значения по умолчанию:
Ключ
Значение
По умолчанию
Описание
facecolor
цвет
'white'
Цвет заливки ручки ползунка.
edgecolor
цвет
'.75'
Цвет контура ручки ползунка.
size
целое число
10
Размер ручки ползунка в пунктах.
Другие значения будут преобразованы как маркер{foo} и переданы конструктору
Line2D. Например,handle_style = {'style'='x'}приведет кmarkerstyle = 'x'.
Примечания
Дополнительные параметры kwargs передаются
self.poly— этоPolygon, который рисует ползунок. См. документациюPolygonдля допустимых свойств (facecolor,edgecolor,alpha, и т.д.).- on_changed(func)[исходный код]
-
Подключить func как обработчик событий изменения значения ползунка.
- Параметры:
-
- funcвызываемая функция
-
Функция, которая будет вызываться при изменении положения ползунка. Функция должна принимать одно числовое значение в качестве аргумента.
- Возвращает:
-
- int
-
Идентификатор подключения (может использоваться для отключения func).
- set_val(val)[исходный код]
-
Установить значение ползунка на val.
- Параметры:
-
- valfloat
- classmatplotlib.widgets.SliderBase(ax, orientation, closedmin, closedmax, valmin, valmax, valfmt, dragging, valstep)[исходный код]
-
Bases:
AxesWidgetБазовый класс для создания виджетов ползунков. Не предназначен для прямого использования.
Для сохранения отзывчивости ползунка необходимо сохранить ссылку на него.
- 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Визуально выбирает диапазон min/max на одной оси и вызывает функцию с этими значениями.
Для обеспечения отзывчивости селектора необходимо сохранить ссылку на него.
Для отключения SpanSelector, установите
span_selector.activeв False. Чтобы включить его обратно, установите в True.События нажатия и отпускания, сгенерированные в одних и тех же координатах вне выбора, очистят селектор, за исключением случаев, когда
ignore_event_outside=True.- Параметры:
-
-
ax
Axes - onselectвызываемый объект
-
Функция обратного вызова, которая вызывается после события отпускания и создания, изменения или удаления выбора. Она должна иметь следующую сигнатуру:
def on_select(min: float, max: float) -> Any
- direction{"horizontal", "vertical"}
-
Направление, по которому рисуется селектор.
- minspanfloat, по умолчанию: 0
-
Если выбор меньше или равен minspan, выбор удаляется (если уже существует) или отменяется.
- useblitbool, по умолчанию: False
-
Если True, использовать функции кэширования, зависящие от бэкенда, для ускорения обновлений холста. См. учебник Более быстрое отображение с помощью кэширования для получения подробностей.
- propsdict, необязательный
-
Словарь свойств
matplotlib.patches.Patch. По умолчанию:dict(facecolor='red', alpha=0.5) - onmove_callbackfunc(min, max), min/max — числа с плавающей точкой, по умолчанию: None
-
Вызывается при перемещении мыши во время выбора диапазона.
- span_staysbool, по умолчанию: False
-
Если True, диапазон остается видимым после отпускания мыши. Устарело, используйте interactive вместо него.
- interactivebool, по умолчанию: False
-
Определяет, нужно ли рисовать набор ручек для взаимодействия с виджетом после его отрисовки.
-
button
MouseButtonили списокMouseButton, по умолчанию: все кнопки -
Кнопки мыши, активирующие селектор.
- handle_propsdict, по умолчанию: None
-
Свойства линий ручек на краях диапазона. Используются только при interactive = True. См.
matplotlib.lines.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
-
Возвращает границы селектора.
- new_axes(ax)[исходный код]
-
Устанавливает SpanSelector для работы с новой осью.
- classmatplotlib.widgets.SubplotTool(targetfig, toolfig)[исходный код]
-
Базовые классы:
WidgetИнструмент для настройки параметров подграфиков в
matplotlib.figure.Figure.- Параметры:
-
-
targetfig
Figure -
Экземпляр фигуры, параметры которой нужно настроить.
-
toolfig
Figure -
Экземпляр фигуры, в которую будет вставлен инструмент для настройки подграфиков.
-
targetfig
- классmatplotlib.widgets.TextBox(ax, label, initial='', *, color='.95', hovercolor='1', label_pad=0.01, textalignment='left')[исходный код]
-
Bases:
AxesWidgetПоле ввода текста, не зависящее от графической среды.
Чтобы поле ввода текста оставалось отзывчивым, необходимо сохранить ссылку на него.
Вызовите
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(x=<deprecated parameter>)[исходный код]
- disconnect(cid)[исходный код]
-
Удаляет наблюдателя с идентификатором соединения cid.
- on_submit(func)[исходный код]
-
При нажатии Enter или выходе из поля ввода вызывается func с событием.
Возвращается идентификатор соединения, который можно использовать для отключения.
- on_text_change(func)[исходный код]
-
При изменении текста вызывается func с событием.
Возвращается идентификатор соединения, который можно использовать для отключения.
- set_val(val)[исходный код]
- stop_typing()[исходный код]
- свойствоtext
- классmatplotlib.widgets.ToolHandles(ax, x, y, *, marker='o', marker_props=None, useblit=True)[исходный код]
-
Bases:
objectУправляющие маркеры для инструментов холста.
- Параметры:
-
-
ax
Axes -
Объект Axes Matplotlib, где отображаются управляющие маркеры.
- x, yОдномерные массивы
-
Координаты управляющих маркеров.
- markerстрока, по умолчанию: 'o'
-
Форма маркера, используемого для отображения маркера. См.
matplotlib.pyplot.plot. - marker_propsсловарь, необязательно
-
Дополнительные свойства маркера. См.
matplotlib.lines.Line2D. - useblitбулево значение, по умолчанию: True
-
Использовать ли кеширование для более быстрой отрисовки (если поддерживается бэкендом). Подробности см. в учебнике Более быстрая отрисовка с помощью кеширования.
-
ax
- свойствоartists
- closest(x, y)[исходный код]
-
Возвращает индекс и расстояние в пикселях до ближайшего индекса.
- set_animated(val)[исходный код]
- set_data(pts, y=None)[исходный код]
-
Устанавливает координаты x и y маркеров.
- set_visible(val)[исходный код]
- свойствоx
- свойствоy
- classmatplotlib.widgets.ToolLineHandles(ax, positions, direction, *, line_props=None, useblit=True)[исходный код]
-
Базовые классы:
objectУправляющие маркеры для инструментов холста.
- Параметры:
-
-
ax
Axes -
Оси Matplotlib, где отображаются управляющие маркеры инструментов.
- positionsОдномерный массив
-
Позиции маркеров в координатах данных.
- direction{"горизонтально", "вертикально"}
-
Направление маркеров: 'вертикально' или 'горизонтально'.
- line_propsсловарь, необязательно
-
Дополнительные свойства линии. См.
matplotlib.lines.Line2D. - useblitбулево, по умолчанию: True
-
Использовать ли ускоренное рисование (если поддерживается бэкендом). Подробнее см. в руководстве Ускоренное отображение с помощью blitting.
-
ax
- propertyartists
- closest(x, y)[исходный код]
-
Возвращает индекс и расстояние в пикселях до ближайшего маркера.
- Параметры:
-
- x, yfloat
-
Координаты x и y, относительно которых рассчитывается расстояние для определения ближайшего маркера.
- Возвращаемое значение:
-
- индекс, расстояниеиндекс маркера и расстояние от него до
-
позиции x, y
- propertydirection
-
Направление маркера: 'вертикально' или 'горизонтально'.
- propertypositions
-
Позиции маркера в координатах данных.
- remove()[исходный код]
-
Удаляет элемент маркера из фигуры.
- set_animated(value)[исходный код]
-
Устанавливает состояние анимации маркеров.
- set_data(positions)[исходный код]
-
Устанавливает координаты x или y маркеров в зависимости от того, являются ли линии вертикальными или горизонтальными.
- Параметры:
-
- positionsкортеж длины 2
-
Устанавливает позиции маркеров в координатах данных.
- set_visible(value)[исходный код]
-
Устанавливает состояние видимости элементов маркеров.
- classmatplotlib.widgets.Widget[исходный код]
-
Базовые классы:
objectАбстрактный базовый класс для GUI-нейтральных виджетов.
- propertyactive
-
Является ли виджет активным?
- drawon=True
- eventson=True
- get_active()[исходный код]
-
Получить значение, показывающее, является ли виджет активным.
- ignore(event)[исходный код]
-
Возвращает, следует ли игнорировать событие.
Этот метод должен вызываться в начале любого обработчика событий.
- set_active(active)[исходный код]
-
Установить, является ли виджет активным.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/widgets_api.html