Spec-Zone.ru › Matplotlib 3.6

matplotlib.widgets

Inheritance diagram of matplotlib.widgets

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

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

classmatplotlib.widgets.AxesWidget(ax)[source]

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

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

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

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

Атрибуты:
axAxes

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

canvasFigureCanvasBase

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

activebool

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

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')[source]

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

Нейтральная для графического интерфейса кнопка.

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

Атрибуты:
ax

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

label

Экземпляр matplotlib.text.Text.

color

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

hovercolor

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

Параметры:
axAxes

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

labelstr

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

imagearray-like или PIL Image

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

colorцвет

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

hovercolorцвет

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

disconnect(cid)[source]

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

on_clicked(func)[source]

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

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

END_OF_DOCUMENT_MARKER
classmatplotlib.widgets.CheckButtons(ax, labels, actives=None)[source]

Bases: AxesWidget

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

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

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

Атрибуты:
axAxes

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

labelsсписок Text
rectanglesсписок Rectangle
linesсписок пар (Line2D, Line2D)

Список линий для крестиков в чекбоксах. Эти линии существуют для каждой рамки, но set_visible(False) при невыбранном чекбоксе.

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

Параметры:
axAxes

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

labelsсписок str

Метки чекбоксов.

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

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

disconnect(cid)[source]

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

get_status()[source]

Возвращает кортеж состояний (True/False) всех чекбоксов.

on_clicked(func)[source]

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

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

set_active(index)[source]

Переключает (активирует или деактивирует) чекбокс по индексу.

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

Параметры:
indexint

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

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

Если index некорректен.

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

Bases: AxesWidget

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

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

Параметры:
axmatplotlib.axes.Axes

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

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

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

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

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

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

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

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

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

Примеры

См. Курсор.

clear(event)[source]

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

onmove(event)[source]

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

classmatplotlib.widgets.EllipseSelector(ax, onselect, drawtype=<deprecated parameter>, minspanx=0, minspany=0, useblit=False, lineprops=<deprecated parameter>, 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.

Parameters:
axAxes

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

onselectfunction

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

def onselect(eclick: MouseEvent, erelease: MouseEvent)

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

minspanxfloat, default: 0

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

minspanyfloat, default: 0

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

useblitbool, default: False

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

propsdict, optional

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

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

spancoords{"data", "pixels"}, default: "data"

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

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

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

grab_rangefloat, default: 10

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

handle_propsdict, optional

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

interactivebool, default: False

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

state_modifier_keysdict, optional

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

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

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

drag_from_anywherebool, default: False

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

ignore_event_outsidebool, default: False

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

use_data_coordinatesbool, default: False

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

Примеры

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

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

Базы: AxesWidget

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

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

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

Параметры:
axAxes

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

xy(float, float)

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

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

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

callbackcallable

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

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

Базы: _SelectorWidget

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

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

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

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

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

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

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

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

onselectфункция

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

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

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

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

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

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

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

onpress(event)[source]

[Устаревшее]

Примечания

Устарело начиная с версии 3.5: Используйте вместо этого press.

onrelease(event)[source]

[Устаревшее]

Примечания

Устарело начиная с версии 3.5: Используйте вместо этого release.

classmatplotlib.widgets.LockDraw[source]

Bases: 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

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

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

Parameters:
canvasobject

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

axeslist of matplotlib.axes.Axes

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

useblitbool, default: True

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

horizOnbool, default: False

Рисовать ли горизонтальную линию.

vertOnbool, default: True

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

Other Parameters:
**lineprops

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

Примеры

См. Multicursor.

background()[source]

[Устарело]

Примечания

Устарело начиная с версии 3.6:

propertycanvas[source]
clear(event)[source]

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

connect()[source]

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

disconnect()[source]

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

onmove(event)[source]
END_OF_DOCUMENT_MARKER
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 для начала нового многоугольника.

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

Параметры:
axAxes

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

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 для получения дополнительной информации.

Примечания

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

Примеры

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

propertyline[source]
onmove(event)[source]

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

propertyvertex_select_radius[source]
propertyverts

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

classmatplotlib.widgets.RadioButtons(ax, labels, active=0, activecolor='blue')[source]

Bases: AxesWidget

Радиокнопка для графического интерфейса.

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

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

Атрибуты:
axAxes

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

activecolorцвет

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

labelsсписок Text

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

circlesсписок Circle

Кнопки.

value_selectedстрока

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

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

Параметры:
axAxes

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

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

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

activeцелое число

Индекс выбранной по умолчанию кнопки.

activecolorцвет

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

disconnect(cid)[source]

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

on_clicked(func)[source]

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

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

set_active(index)[source]

Выбор кнопки с номером index.

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

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

Функция, вызываемая при изменении ползунка. Функция должна принимать массив NumPy с формой (2,) в качестве аргумента.

Возвращает:
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, drawtype=<deprecated parameter>, minspanx=0, minspany=0, useblit=False, lineprops=<deprecated parameter>, 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]
END_OF_DOCUMENT_MARKER

Bases: _SelectorWidget

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

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

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

Параметры:
axAxes

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

onselectфункция

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

def onselect(eclick: MouseEvent, erelease: MouseEvent)

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

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

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

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

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

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

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

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

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

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

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

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

buttonMouseButton, список 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, форма "square" селектора определена в координатах данных, а не в координатах отображения.

Примеры

>>> 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()
>>> selector.add_state('square')

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

свойствоactive_handle[source]
свойствоcenter

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

свойствоcorners

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

свойствоdraw_shape[source]
свойствоdrawtype[source]
свойствоedge_centers

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

свойствоextents

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

свойствоgeometry

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

свойствоinteractive[source]
свойствоmaxdist[source]
свойствоrotation

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

свойствоto_draw[source]
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

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

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

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

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

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

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

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

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

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

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

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

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

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

valstepfloat или массив-подобный объект, по умолчанию: None

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

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

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

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

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

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)[source]

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

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

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

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

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

set_val(val)[source]

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

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

Bases: AxesWidget

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

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

disconnect(cid)[source]

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

Параметры:
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

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

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

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

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

Parameters:
axmatplotlib.axes.Axes
onselectcallable

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

def on_select(min: float, max: float) -> Any
direction{"horizontal", "vertical"}

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

minspanfloat, default: 0

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

useblitbool, default: False

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

propsdict, optional

Словарь свойств matplotlib.patches.Patch. По умолчанию:

dict(facecolor='red', alpha=0.5)

onmove_callbackfunc(min, max), min/max are floats, default: None

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

span_staysbool, default: False

Если True, диапазон остаётся видимым после отпускания мыши. Устарело, используйте interactive вместо этого.

interactivebool, default: False

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

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

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

handle_propsdict, default: None

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

grab_rangefloat, default: 10

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

state_modifier_keysdict, optional

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

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

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

ignore_event_outsidebool, default: False

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

snap_values1D array-like, optional

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

Примеры

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

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

propertyactive_handle[source]
connect_default_events()[source]

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

propertydirection

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

propertyextents

Возвращает границы селектора диапазона.

new_axes(ax)[source]

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

propertypressv[source]
propertyprev[source]
propertyrect[source]
propertyrectprops[source]
propertyspan_stays[source]
classmatplotlib.widgets.SubplotTool(targetfig, toolfig)[source]

Bases: Widget

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

Параметры:
targetfigFigure

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

toolfigFigure

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

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

Bases: AxesWidget

Ввод текста в графическом интерфейсе.

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

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

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

Атрибуты:
axAxes

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

labelText
colorцвет

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

hovercolorцвет

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

Параметры:
axAxes

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

labelстрока

Подпись для текстового поля.

initialстрока

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

colorцвет

Цвет поля.

hovercolorцвет

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

label_padвещественное число

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

textalignment{'слева', 'по центру', 'справа'}

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

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

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

on_submit(func)[source]

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

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

on_text_change(func)[source]

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

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

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

Bases: object

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

Параметры:
axmatplotlib.axes.Axes

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

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

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

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

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

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

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

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

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

свойствоartists
closest(x, y)[source]

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

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

Устанавливает координаты x и y маркеров.

set_visible(val)[source]
свойствоx
свойствоy
classmatplotlib.widgets.ToolLineHandles(ax, positions, direction, line_props=None, useblit=True)[source]

Bases: object

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

Параметры:
axmatplotlib.axes.Axes

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

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

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

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

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

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

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

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

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

propertyartists
closest(x, y)[source]

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

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

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

Возвращает:
индекс, расстояниеиндекс элемента управления и его расстояние от

позиции 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]

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

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

set_active(active)[source]

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

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

Spec-Zone.ru

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