matplotlib.widgets
GUI-нейтральные виджеты
Виджеты, разработанные для работы с любыми графическими интерфейсами. Все эти виджеты требуют предварительно определённого экземпляра matplotlib.axes.Axes и передачи его в качестве первого параметра. Matplotlib не пытается быть слишком умным в отношении макета — вам придётся самим определить, какой ширины и высоты должен быть ваш Axes, чтобы вместить ваш виджет.
- classmatplotlib.widgets.AxesWidget(ax)[исходный код]
-
Базовые классы:
matplotlib.widgets.WidgetВиджет, подключённый к одному
Axes.Для обеспечения отзывчивости виджета и предотвращения его удаления сборщиком мусора, пользователь должен сохранить ссылку на объект.
Это необходимо, так как реестр обратных вызовов сохраняет только слабые ссылки на функции, которые являются методами виджета. Если ссылки на объект виджета отсутствуют, он может быть удалён сборщиком мусора, что приведет к разрыву обратных вызовов.
- Атрибуты
-
-
ax
Axes -
Родительские оси для виджета.
-
canvas
FigureCanvasBase -
Родительский холст фигуры для виджета.
-
activebool -
Является ли виджет активным?
-
ax
- propertycids[исходный код]
- connect_event(event, callback)[исходный код]
-
Подключение функции обратного вызова к событию.
Это следует использовать вместо
figure.canvas.mpl_connect, так как эта функция хранит идентификаторы обратных вызовов для последующей очистки.
- disconnect_events()[исходный код]
-
Отключение всех событий, созданных этим виджетом.
- classmatplotlib.widgets.Button(ax, label, image=None, color='0.85', hovercolor='0.95')[исходный код]
-
Базовые классы:
matplotlib.widgets.AxesWidgetНейтральная к графическому интерфейсу кнопка.
Для сохранения отзывчивости кнопки необходимо сохранить ссылку на неё. Вызовите
on_clicked, чтобы подключить её.- Атрибуты
-
- ax
-
matplotlib.axes.Axes, в который отрисовывается кнопка. - label
-
Экземпляр
matplotlib.text.Text. - color
-
Цвет кнопки, когда она не наведена курсором.
- hovercolor
-
Цвет кнопки, когда на неё наведён курсор.
- Параметры
-
-
ax
Axes -
Экземпляр
Axes, в который будет помещена кнопка. - labelstr
-
Текст кнопки.
- imageмассивоподобный объект или изображение PIL
-
Изображение, которое нужно поместить в кнопку, если оно не None. Параметр напрямую передаётся в
imshow. - colorцвет
-
Цвет кнопки, когда она не активна.
- hovercolorцвет
-
Цвет кнопки, когда курсор наведён на неё.
-
ax
- propertycnt[исходный код]
- disconnect(cid)[исходный код]
-
Удаление функции обратного вызова с идентификатором соединения cid.
- propertyobservers[исходный код]
- on_clicked(func)[исходный код]
-
Подключение функции обратного вызова func к событиям щелчка по кнопке.
Возвращает идентификатор соединения, который можно использовать для отключения обратного вызова.
- classmatplotlib.widgets.CheckButtons(ax, labels, actives=None)[исходный код]
-
Базовые классы:
matplotlib.widgets.AxesWidgetНабор флажков, не зависящих от графического интерфейса.
Для обеспечения реагирования флажков необходимо сохранить ссылку на этот объект.
Подключитесь к CheckButtons с помощью метода
on_clicked.- Атрибуты
-
-
ax
Axes -
Родительские оси виджета.
-
labelsсписок
Text -
rectanglesсписок
Rectangle -
linesсписок пар (
Line2D,Line2D) -
Список линий для символов «х» в флажках. Эти линии существуют для каждой ячейки, но имеют
set_visible(False)при отсутствии проверки флажка.
-
ax
Добавление флажков в экземпляр
matplotlib.axes.Axesax.- Параметры
-
-
ax
Axes -
Родительские оси виджета.
- labelsсписок str
-
Подписи флажков.
- activesсписок bool, необязательно
-
Начальное состояние флажков. Список должен иметь такую же длину, как и labels. Если не указано, все флажки будут сняты.
-
ax
- propertycnt[исходный код]
- disconnect(cid)[исходный код]
-
Удаление наблюдателя с идентификатором подключения cid.
- get_status()[исходный код]
-
Возвращает кортеж состояний (True/False) всех флажков.
- propertyobservers[исходный код]
- on_clicked(func)[исходный код]
-
Подключение функции обратного вызова func к событиям нажатия на кнопки.
Возвращает идентификатор подключения, который можно использовать для отключения обратного вызова.
- set_active(index)[исходный код]
-
Переключение (активация или деактивация) флажка по индексу.
Обратные вызовы будут вызваны, если
eventsonравно True.- Параметры
-
- indexint
-
Индекс флажка для переключения.
- Исключения
-
- ValueError
-
Если index некорректен.
- classmatplotlib.widgets.Cursor(ax, horizOn=True, vertOn=True, useblit=False, **lineprops)[исходный код]
-
Базовые классы:
matplotlib.widgets.AxesWidgetПерекрестие курсора, которое охватывает оси и перемещается вместе с курсором мыши.
Для обеспечения реагирования курсора необходимо сохранить ссылку на него.
- Параметры
-
-
ax
matplotlib.axes.Axes -
Оси
Axes, к которым прикрепляется курсор. - horizOnbool, по умолчанию: True
-
Отрисовывать ли горизонтальную линию.
- vertOnbool, по умолчанию: True
-
Отрисовывать ли вертикальную линию.
- useblitbool, по умолчанию: False
-
Использовать ли блиттинг для более быстрого рисования, если поддерживается бэкендом.
-
ax
- Другие параметры
Примеры
См. Cursor.
- clear(event)[исходный код]
-
Внутренний обработчик событий для очистки курсора.
- onmove(event)[исходный код]
-
Внутренний обработчик событий для отрисовки курсора при перемещении мыши.
- 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)[исходный код]
-
Базовые классы:
matplotlib.widgets.RectangleSelectorВыберите эллиптическую область осей.
Для сохранения отзывчивости курсора необходимо сохранить на него ссылку.
События нажатия и отпуска, возникающие в одних и тех же координатах за пределами выделения, будут удалять селектор, за исключением случаев
ignore_event_outside=True.- Параметры
-
-
ax
Axes -
Родительские оси виджета.
- onselectфункция
-
Функция обратного вызова, которая вызывается после события отпуска, а также при создании, изменении или удалении выделения. Она должна иметь следующий вид:
def onselect(eclick: MouseEvent, erelease: MouseEvent)
где eclick и erelease – события мыши нажатия и отпуска
MouseEvent, которые запускают и завершают выделение. - minspanxfloat, по умолчанию: 0
-
Выделения с размахом по оси x, меньшим или равным minspanx, удаляются (при их наличии) или отменяются.
- minspanyfloat, по умолчанию: 0
-
Выделения с размахом по оси y, меньшим или равным minspanx, удаляются (при их наличии) или отменяются.
- useblitbool, по умолчанию: False
-
Использовать ли кеширование для более быстрого отображения (если это поддерживается бэкендом).
- propsdict, необязательно
-
Свойства, с которыми рисуется эллипс. Смотрите
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": Очистка текущей фигуры, по умолчанию: "Esc".
- "square": Сделать фигуру квадратной, по умолчанию: "Shift".
- "center": Сделать начальную точку центром фигуры, по умолчанию: "Ctrl".
"square" и "center" могут комбинироваться.
- drag_from_anywherebool, по умолчанию: False
-
Если
True, виджет можно перемещать, нажав в любом месте внутри его границ. - ignore_event_outsidebool, по умолчанию: False
-
Если
True, событие, возникшее за пределами селектора области, будет проигнорировано.
Примеры
Прямоугольные и эллиптические селекторы
- propertydraw_shape[исходный код]
-
ax
- classmatplotlib.widgets.Lasso(ax, xy, callback=None, useblit=True)[исходный код]
-
Базовые классы:
matplotlib.widgets.AxesWidgetКривая выделения произвольной формы.
Выбранный путь можно использовать совместно с
contains_pointдля выбора точек данных из изображения.В отличие от
LassoSelector, этот объект должен быть инициализирован с начальной точкой xy, и событияLassoуничтожаются при отпускании.- Параметры
-
-
ax
Axes -
Родительские оси виджета.
- xy(float, float)
-
Координаты начала лассо.
- useblitbool, по умолчанию: True
-
Использовать ли кеширование для более быстрого отображения (если это поддерживается бэкендом).
- callbackвызываемый объект
-
Всякий раз, когда лассо отпускается, функция callback вызывается и получает вершины выбранного пути.
-
ax
- onmove(event)[исходный код]
- onrelease(event)[исходный код]
- classmatplotlib.widgets.LassoSelector(ax, onselect=None, useblit=True, props=None, button=None)[исходный код]
-
Основания:
matplotlib.widgets._SelectorWidgetВыделение области произвольной формы.
Для сохранения реактивности селектора необходимо сохранить ссылку на него.
Выбранный путь можно использовать совместно с
contains_pointдля выбора точек данных на изображении.В отличие от
Lasso,LassoSelectorимеет интерфейс, похожий наRectangleSelectorиSpanSelector, и будет продолжать взаимодействовать с осями до отключения.Пример использования:
ax = plt.subplot() ax.plot(x, y) def onselect(verts): print(verts) lasso = LassoSelector(ax, onselect)- Параметры
-
-
ax
Axes -
Родительские оси виджета.
- onselectфункция
-
При отпускании инструмента lasso вызывается функция onselect и передаются вершины выделенного пути.
- useblitbool, по умолчанию: True
-
Использовать ли blitting для более быстрой отрисовки (если поддерживается бэкендом).
- propsdict, необязательно
-
Свойства для рисования линии, см.
matplotlib.lines.Line2Dдля допустимых свойств. Значения по умолчанию определены вmpl.rcParams. -
button
MouseButtonили списокMouseButton, необязательно -
Кнопки мыши, используемые для выделения прямоугольника. По умолчанию
None, что соответствует всем кнопкам.
-
ax
- onpress(event)[исходный код]
-
[Устаревшее]
Примечания
Устарело начиная с версии 3.5:
- onrelease(event)[исходный код]
-
[Устаревшее]
Примечания
Устарело начиная с версии 3.5:
- classmatplotlib.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)[источник]
-
Базовые классы:
matplotlib.widgets.WidgetОбеспечивает вертикальный (по умолчанию) и/или горизонтальный курсор, общий для нескольких осей.
Для сохранения отзывчивости курсора необходимо сохранить ссылку на него.
- Параметры
-
-
canvas
matplotlib.backend_bases.FigureCanvasBase -
FigureCanvas, содержащий все оси.
-
axesСписок
matplotlib.axes.Axes -
Оси
Axesдля привязки курсора. - useblitbool, по умолчанию: True
-
Использовать блиттинг для более быстрого рисования, если поддерживается бэкендом.
- horizOnbool, по умолчанию: False
-
Определяет, рисовать ли горизонтальную линию.
- vertOn: bool, по умолчанию: True
-
Определяет, рисовать ли вертикальную линию.
-
canvas
- Другие параметры
Примеры
См. Мультикурсор.
- clear(event)[источник]
-
Очистить курсор.
- connect()[источник]
-
Подключить события.
- disconnect()[источник]
-
Отключить события.
- onmove(event)[источник]
- classmatplotlib.widgets.PolygonSelector(ax, onselect, useblit=False, props=None, handle_props=None, grab_range=10)[источник]
-
Базовые классы:
matplotlib.widgets._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 пикселей от вершины.
-
ax
Примечания
Если после удаления точек остается только одна точка, селектор возвращается в состояние незавершенности, и вы можете начать рисовать новый многоугольник с существующей точки.
Примеры
- propertyline[источник]
- onmove(event)[источник]
-
Обработчик событий перемещения курсора и валидатор.
- propertyvertex_select_radius[источник]
- propertyverts
-
Вершины многоугольника в виде списка
(x, y)пар.
- classmatplotlib.widgets.RadioButtons(ax, labels, active=0, activecolor='blue')[исходный код]
-
Базовые классы:
matplotlib.widgets.AxesWidgetРадиокнопка GUI-нейтрального типа.
Для сохранения реагирования кнопок необходимо сохранить ссылку на этот объект.
Подключитесь к RadioButtons с помощью метода
on_clicked.- Атрибуты
-
-
ax
Axes -
Родительские оси виджета.
- activecolorцвет
-
Цвет выбранной кнопки.
-
labelsсписок
Text -
Подписи кнопок.
-
circlesсписок
Circle -
Кнопки.
- value_selectedстрока
-
Текст метки выбранной в данный момент кнопки.
-
ax
Добавление радиокнопок на
Axes.- Параметры
-
-
ax
Axes -
Оси для добавления кнопок.
- labelsсписок строк
-
Подписи кнопок.
- activeцелое число
-
Индекс первоначально выбранной кнопки.
- activecolorцвет
-
Цвет выбранной кнопки.
-
ax
- propertycnt[исходный код]
- disconnect(cid)[исходный код]
-
Удаление наблюдателя с идентификатором соединения cid.
- propertyobservers[исходный код]
- on_clicked(func)[исходный код]
-
Подключение функции обратного вызова func к событиям щелчка по кнопке.
Возвращает идентификатор соединения, который можно использовать для отключения обратного вызова.
- set_active(index)[исходный код]
-
Выбор кнопки с номером 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)[исходный код]
-
Базовые классы:
matplotlib.widgets.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
int
10
Размер ручек ползунка в пунктах.
Другие значения будут преобразованы как marker{foo} и переданы в конструктор
Line2D. Например,handle_style = {'style'='x'}приведет кmarkerstyle = 'x'.
Примечания
Дополнительные параметры kwargs передаются в
self.poly- этоPolygon, который рисует движок ползунка. Обратитесь к документацииPolygonдля допустимых имен свойств (facecolor,edgecolor,alpha, и т.д.).- on_changed(func)[исходный код]
-
Подключить func как функцию обратного вызова к изменениям значения ползунка.
- Параметры
-
- funcвызываемая функция
-
Функция, которая вызывается при изменении ползунка. Функция должна принимать в качестве аргумента массив numpy с формой (2,)
- Возвращает
-
- int
-
Идентификатор подключения (который можно использовать для отключения func).
- set_max(max)[исходный код]
-
Установить максимальное значение ползунка в max.
- Параметры
-
- maxfloat
- set_min(min)[исходный код]
-
Установить минимальное значение ползунка в min.
- Параметры
-
- minfloat
- set_val(val)[исходный код]
-
Установить значение ползунка в val.
- Параметры
-
- valкортеж или массив-подобный объект float
- классmatplotlib.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)[исходный код]
-
Основы:
matplotlib.widgets._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": Очистить текущую форму, по умолчанию: "esc".
- "square": Сделать форму квадратной, по умолчанию: "shift".
- "center": Сделать начальную точку центром формы, по умолчанию: "ctrl".
"square" и "center" могут использоваться вместе.
- drag_from_anywherebool, по умолчанию: False
-
Если
True, виджет можно перемещать, нажав где угодно в пределах его границ. - ignore_event_outsidebool, по умолчанию: False
-
Если
True, события, сгенерированные за пределами выделения прямоугольника, будут игнорироваться.
Примеры
>>> import matplotlib.pyplot as plt >>> import matplotlib.widgets as mwidgets >>> fig, ax = plt.subplots() >>> ax.plot([1, 2, 3], [10, 50, 100]) >>> def onselect(eclick, erelease): ... print(eclick.xdata, eclick.ydata) ... print(erelease.xdata, erelease.ydata) >>> props = dict(facecolor='blue', alpha=0.5) >>> rect = mwidgets.RectangleSelector(ax, onselect, interactive=True, props=props) >>> fig.show()См. также: Прямоугольные и эллиптические выделения
- свойствоactive_handle[исходный код]
- свойствоcenter
-
Центр прямоугольника.
- свойствоcorners
-
Углы прямоугольника, начиная с левого нижнего угла, по часовой стрелке.
- свойствоdraw_shape[исходный код]
- свойствоdrawtype[исходный код]
- свойствоedge_centers
-
Середины сторон прямоугольника, начиная слева, против часовой стрелки.
- свойствоextents
-
Возвращает (xmin, xmax, ymin, ymax).
- свойствоgeometry
-
Возвращает массив формы (2, 5), содержащий координаты x (
RectangleSelector.geometry[1, :]) и y (RectangleSelector.geometry[0, :]) четырех углов прямоугольника, начиная с верхнего левого угла и двигаясь по часовой стрелке.
- свойствоinteractive[исходный код]
- свойствоmaxdist[исходный код]
- свойствоto_draw[исходный код]
-
ax
- 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)[исходный код]
-
Базовые классы:
matplotlib.widgets.SliderBaseПолзунок, представляющий числовой диапазон.
Создаёт ползунок от valmin до valmax в осях ax. Для сохранения отзывчивости ползунка необходимо сохранить на него ссылку. Для подключения к событию ползунка вызовите
on_changed().- Атрибуты
-
- valfloat
-
Значение ползунка.
- Параметры
-
- axAxes
-
Оси, в которых будет находиться ползунок.
- labelstr
-
Метка ползунка.
- valminfloat
-
Минимальное значение ползунка.
- valmaxfloat
-
Максимальное значение ползунка.
- valinitfloat, по умолчанию: 0.5
-
Начальное положение ползунка.
- valfmtstr, по умолчанию: None
-
Строка формата %-формата, используемая для форматирования значения ползунка. Если None, используется
ScalarFormatter. - closedminbool, по умолчанию: True
-
Является ли интервал ползунка закрытым снизу.
- closedmaxbool, по умолчанию: True
-
Является ли интервал ползунка закрытым сверху.
- sliderminSlider, по умолчанию: None
-
Не разрешить текущему ползунку иметь значение меньше значения Slider slidermin.
- slidermaxSlider, по умолчанию: None
-
Не разрешить текущему ползунку иметь значение больше значения Slider slidermax.
- draggingbool, по умолчанию: True
-
Если True, ползунок можно перетаскивать мышкой.
- valstepfloat или массив, по умолчанию: 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— этоPolygon, который рисует рукоятку ползунка. Обратитесь к документацииPolygonдля получения допустимых имен свойств (facecolor,edgecolor,alpha, и т.д.).- propertycnt[исходный код]
- propertyobservers[исходный код]
- on_changed(func)[исходный код]
-
Подключите func как функцию обратного вызова к изменениям значения ползунка.
- Параметры
-
- funccallable
-
Функция, которая вызывается при изменении ползунка. Функция должна принимать одно значение с плавающей точкой в качестве аргумента.
- Возвращает
-
- int
-
Идентификатор соединения (который можно использовать для отключения func).
- set_val(val)[исходный код]
-
Установить значение ползунка на val.
- Параметры
-
- valfloat
- classmatplotlib.widgets.SliderBase(ax, orientation, closedmin, closedmax, valmin, valmax, valfmt, dragging, valstep)[исходный код]
-
Базовые классы:
matplotlib.widgets.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, drag_from_anywhere=False, ignore_event_outside=False)[исходный код]
-
Базовые классы:
matplotlib.widgets._SelectorWidgetВизуально выбирает диапазон min/max на одной оси и вызывает функцию с этими значениями.
Для обеспечения отзывчивости селектора сохраняйте ссылку на него.
Чтобы отключить SpanSelector, установите
span_selector.activeв False. Чтобы включить его обратно, установите в True.События нажатия и отпускания, сгенерированные в одних и тех же координатах вне выделения, приведут к очистке селектора, за исключением случаев, когда
ignore_event_outside=True.- Параметры
-
-
ax
matplotlib.axes.Axes - onselectcallable
-
Функция обратного вызова, которая вызывается после события отпускания и создания, изменения или удаления выделения. Она должна иметь следующую сигнатуру:
def on_select(min: float, max: float) -> Any
- direction{"horizontal", "vertical"}
-
Направление, по которому рисуется SpanSelector.
- minspanfloat, по умолчанию: 0
-
Если выделение меньше или равно minspan, выделение удаляется (если уже существует) или отменяется.
- useblitbool, по умолчанию: False
-
Если True, используются функции блиттинга, зависящие от бэкэнда, для более быстрого обновления холста.
- propsdict, необязательно
-
Словарь свойств
matplotlib.patches.Patch. По умолчанию:dict(facecolor='red', alpha=0.5) - onmove_callbackfunc(min, max), min/max — float, по умолчанию: None
-
Вызывается при перемещении мыши во время выбора диапазона.
- span_staysbool, по умолчанию: False
-
Если True, диапазон остается видимым после отпускания мыши. Устарело, используйте interactive вместо этого.
- interactivebool, по умолчанию: False
-
Определяет, будут ли нарисованы ручки для взаимодействия с виджетом после его отрисовки.
-
button
MouseButtonили список изMouseButton, по умолчанию: все кнопки -
Кнопки мыши, активирующие SpanSelector.
- handle_propsdict, по умолчанию: None
-
Свойства линий ручек на краях диапазона. Используются только при interactive = True. См.
matplotlib.lines.Line2Dдля допустимых свойств. - grab_rangefloat, по умолчанию: 10
-
Расстояние в пикселях, в пределах которого могут быть активированы управляющие элементы интерактивного инструмента.
- drag_from_anywherebool, по умолчанию: False
-
Если
True, виджет может быть перемещен щелчком в любом месте внутри его границ. - ignore_event_outsidebool, по умолчанию: False
-
Если
True, событие, сгенерированное вне SpanSelector, будет проигнорировано.
-
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()
См. также: Селектор диапазона
- propertyactive_handle[исходный код]
- connect_default_events()[исходный код]
-
Подключает основные события холста к методам.
- propertydirection
-
Направление SpanSelector: 'vertical' или 'horizontal'.
- propertyextents
-
Возвращает крайние значения SpanSelector.
- new_axes(ax)[исходный код]
-
Устанавливает SpanSelector для работы с новой осью.
- propertypressv[исходный код]
- propertyprev[исходный код]
- propertyrect[исходный код]
- propertyrectprops[исходный код]
- propertyspan_stays[исходный код]
- classmatplotlib.widgets.SubplotTool(targetfig, toolfig)[исходный код]
-
Базовые классы:
matplotlib.widgets.WidgetИнструмент для настройки параметров подграфиков
matplotlib.figure.Figure.- Параметры
-
-
targetfig
Figure -
Экземпляр фигуры для настройки.
-
toolfig
Figure -
Экземпляр фигуры для встраивания инструмента подграфиков.
-
targetfig
- classmatplotlib.widgets.TextBox(ax, label, initial='', color='.95', hovercolor='1', label_pad=0.01, textalignment='left')[источник]
-
Базовые классы:
matplotlib.widgets.AxesWidgetТекстовое поле ввода.
Для того, чтобы текстовое поле оставалось отзывчивым, необходимо сохранить ссылку на него.
Вызовите
on_text_changeдля обновления при изменении текста.Вызовите
on_submitдля обновления при нажатии Enter или выходе из поля ввода.- Атрибуты
-
-
ax
Axes -
Родительские оси виджета.
-
label
Text - colorцвет
-
Цвет текстового поля при отсутствии наведения курсора.
- hovercolorцвет
-
Цвет текстового поля при наведении курсора.
-
ax
- Параметры
-
-
ax
Axes -
Экземпляр
Axes, куда будет размещен виджет. - labelstr
-
Метка текстового поля.
- initialstr
-
Начальное значение в текстовом поле.
- colorцвет
-
Цвет поля.
- hovercolorцвет
-
Цвет поля при наведении курсора.
- label_padfloat
-
Расстояние между меткой и правой стороной текстового поля.
- textalignment{'left', 'center', 'right'}
-
Горизонтальное выравнивание текста.
-
ax
- propertyDIST_FROM_LEFT[источник]
- begin_typing(x)[источник]
- propertychange_observers[источник]
- propertycnt[источник]
- disconnect(cid)[источник]
-
Удалить наблюдателя с идентификатором соединения cid.
- on_submit(func)[источник]
-
При нажатии Enter или выходе из поля ввода, вызовите функцию func с событием.
Возвращает идентификатор подключения, который можно использовать для отключения.
- on_text_change(func)[источник]
-
При изменении текста, вызовите функцию func с событием.
Возвращает идентификатор подключения, который можно использовать для отключения.
- position_cursor(x)[источник]
- set_val(val)[источник]
- stop_typing()[источник]
- propertysubmit_observers[источник]
- propertytext
- classmatplotlib.widgets.ToolHandles(ax, x, y, marker='o', marker_props=None, useblit=True)[исходный код]
-
Базовые классы:
objectМаркеры инструментов для холста.
- Параметры
-
-
ax
matplotlib.axes.Axes -
Ось Matplotlib, на которой отображаются маркеры инструментов.
- x, yОдномерные массивы
-
Координаты маркеров инструментов.
- markerстрока, по умолчанию: 'o'
-
Форма маркера, используемого для отображения маркера. См.
matplotlib.pyplot.plot. - marker_propsсловарь, необязательно
-
Дополнительные свойства маркера. См.
matplotlib.lines.Line2D. - useblitлогическое значение, по умолчанию: True
-
Использовать ли кеширование (blitting) для более быстрой отрисовки (если поддерживается бэкендом).
-
ax
- propertyartists
- closest(x, y)[исходный код]
-
Возвращает индекс и расстояние до ближайшего индекса.
- set_animated(val)[исходный код]
- set_data(pts, y=None)[исходный код]
-
Устанавливает координаты x и y маркеров.
- set_visible(val)[исходный код]
- propertyx
- propertyy
- classmatplotlib.widgets.ToolLineHandles(ax, positions, direction, line_props=None, useblit=True)[исходный код]
-
Базовые классы:
objectМаркеры инструментов для холста.
- Параметры
-
-
ax
matplotlib.axes.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)[исходный код]
-
Возвращает, следует ли игнорировать event.
Этот метод должен вызываться в начале любого обработчика событий.
- set_active(active)[исходный код]
-
Установить, активен ли виджет.
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/widgets_api.html