matplotlib.widgets
GUI-нейтральные виджеты
Виджеты, предназначенные для работы с любыми графическими интерфейсами (GUI). Все эти виджеты требуют предварительного определения экземпляра matplotlib.axes.Axes и передачи его в качестве первого параметра. Matplotlib не пытается быть слишком умным в отношении макета — вам нужно будет определить желаемую ширину и высоту вашего элемента Axes для размещения вашего виджета.
- classmatplotlib.widgets.AxesWidget(ax)[исходный код]
-
Базовое классы:
WidgetВиджет, связанный с одним
Axes.Для обеспечения того, чтобы виджет оставался реагирующим и не был удалён сборщиком мусора, пользователь должен сохранить ссылку на объект.
Это необходимо, потому что регистр обратных вызовов сохраняет только слабые ссылки на функции, которые являются методами виджета. Если нет ссылок на объект виджета, он может быть удален сборщиком мусора, что отсоединит обратные вызовы.
- Атрибуты:
-
-
ax
Axes -
Родительский элемент Axes для виджета.
-
canvas
FigureCanvasBase -
Родительский холст (canvas) фигуры для виджета.
-
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')[исходный код]
-
Базовое классы:
AxesWidgetНейтральная для графического интерфейса кнопка.
Для сохранения отзывчивости кнопки необходимо сохранить ссылку на неё. Используйте
on_clickedдля подключения к кнопке.- Атрибуты:
-
- ax
-
matplotlib.axes.Axes, в который отображается кнопка. - label
-
Экземпляр
matplotlib.text.Text. - color
-
Цвет кнопки при отсутствии наведения курсора.
- hovercolor
-
Цвет кнопки при наведении курсора.
- Параметры:
-
-
ax
Axes -
Экземпляр
Axes, в который будет помещена кнопка. - labelstr
-
Текст кнопки.
- imageмассивоподобный объект или PIL Image
-
Изображение для размещения на кнопке, если не None. Параметр напрямую передаётся в
imshow. - colorцвет
-
Цвет кнопки при отсутствии активации.
- hovercolorцвет
-
Цвет кнопки при наведении курсора.
-
ax
- disconnect(cid)[исходный код]
-
Удаление функции обратного вызова с идентификатором соединения cid.
- on_clicked(func)[исходный код]
-
Подключение функции обратного вызова func к событиям нажатия кнопки.
Возвращает идентификатор соединения, который можно использовать для отключения обратного вызова.
- classmatplotlib.widgets.CheckButtons(ax, labels, actives=None)[исходный код]
-
Базовые классы:
AxesWidgetНабор флажков с нейтральным интерфейсом.
Для того, чтобы флажки оставались отзывчивыми, необходимо сохранить ссылку на этот объект.
Подключитесь к CheckButtons с помощью метода
on_clicked.- Атрибуты:
-
-
ax
Axes -
Родительский объект Axes для виджета.
-
labelsсписок
Text -
rectanglesсписок
Rectangle -
linesсписок пар (
Line2D,Line2D) -
Список линий для крестиков в чекбоксах. Эти линии существуют для каждой рамки, но
set_visible(False)при невыбранном чекбоксе.
-
ax
Добавить флажки к экземпляру
matplotlib.axes.Axesax.- Параметры:
-
-
ax
Axes -
Родительский объект Axes для виджета.
- labelsсписок str
-
Метки чекбоксов.
- activesсписок bool, необязательно
-
Начальное состояние чекбоксов. Список должен иметь такую же длину, как и labels. Если не указано, все чекбоксы будут неактивны.
-
ax
- disconnect(cid)[исходный код]
-
Удалить наблюдателя с идентификатором соединения cid.
- get_status()[исходный код]
-
Возвращает кортеж состояний (True/False) всех чекбоксов.
- on_clicked(func)[исходный код]
-
Подключить функцию обратного вызова func к событиям нажатия на кнопку.
Возвращает идентификатор соединения, который можно использовать для отключения обратного вызова.
- set_active(index)[исходный код]
-
Переключает (активирует или деактивирует) чекбокс по индексу.
Обратные вызовы будут вызваны, если
eventsonравно True.- Параметры:
-
- indexint
-
Индекс чекбокса, который нужно переключить.
- Исключения:
-
- ValueError
-
Если index некорректен.
- classmatplotlib.widgets.Cursor(ax, horizOn=True, vertOn=True, useblit=False, **lineprops)[исходный код]
-
Базовые классы:
AxesWidgetПерекрестие курсора, которое охватывает Axes и перемещается вместе с курсором мыши.
Для того, чтобы курсор оставался отзывчивым, необходимо сохранить на него ссылку.
- Параметры:
-
-
ax
matplotlib.axes.Axes -
Объект
Axes, к которому привязывается курсор. - horizOnbool, по умолчанию: True
-
Определяет, рисовать ли горизонтальную линию.
- vertOnbool, по умолчанию: True
-
Определяет, рисовать ли вертикальную линию.
- useblitbool, по умолчанию: False
-
Использовать блиттинг для более быстрого рисования, если поддерживается бэкендом. Подробнее см. в руководстве Ускорение рендеринга с помощью блиттинга.
-
ax
- Другие параметры:
Примеры
См. Курсор.
- clear(event)[исходный код]
-
Внутренний обработчик событий для очистки курсора.
- onmove(event)[исходный код]
-
Внутренний обработчик событий для рисования курсора при перемещении мыши.
- классmatplotlib.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)[исходный код]
-
Базовые классы:
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
-
Использовать ли кеширование (blitting) для более быстрого отображения (если поддерживается бэкэндом). Подробности см. в учебном пособии Более быстрое отображение с помощью кеширования.
- 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
Примеры
Прямоугольные и эллиптические селекторы
- свойствоdraw_shape[исходный код]
- классmatplotlib.widgets.Lasso(ax, xy, callback=None, useblit=True)[исходный код]
-
Базовые классы:
AxesWidgetКривая выделения произвольной формы.
Выбранный путь можно использовать совместно с
contains_pointдля выбора точек данных из изображения.В отличие от
LassoSelector, для его инициализации требуется начальная точка xy, и событияLassoуничтожаются при отпускании.- Параметры:
-
-
ax
Axes -
Родительский Axes для виджета.
- xy(float, float)
-
Координаты начала выделения лассо.
- useblitbool, по умолчанию: True
-
Использовать ли кеширование для ускорения отрисовки (если это поддерживается бэкендом). Подробности см. в руководстве Ускорение отрисовки с помощью кеширования.
- callbackвызываемый объект
-
Когда выделение лассо отпускается, вызывается функция callback и передаются вершины выбранного пути.
-
ax
- onmove(event)[исходный код]
- onrelease(event)[исходный код]
- классmatplotlib.widgets.LassoSelector(ax, onselect=None, 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
-
Использовать ли кеширование для ускорения отрисовки (если это поддерживается бэкендом). Подробности см. в руководстве Ускорение отрисовки с помощью кеширования.
- propsdict, необязательно
-
Свойства, с помощью которых рисуется линия, см.
matplotlib.lines.Line2Dдля допустимых свойств. Значения по умолчанию определены вmpl.rcParams. -
button
MouseButtonили списокMouseButton, необязательно -
Кнопки мыши, используемые для выделения. По умолчанию
None, что соответствует всем кнопкам.
-
ax
- onpress(event)[исходный код]
-
[Устаревшее]
Примечания
Устарело начиная с версии 3.5: Используйте вместо этого press.
- onrelease(event)[исходный код]
-
[Устаревшее]
Примечания
Устарело начиная с версии 3.5: Используйте вместо этого release.
- classmatplotlib.widgets.LockDraw[исходный код]
-
Bases:
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)[исходный код]
-
Bases:
WidgetПредоставляет вертикальный (по умолчанию) и/или горизонтальный курсор, совместно используемый между несколькими осями.
Чтобы курсор оставался отзывчивым, необходимо сохранить на него ссылку.
- Параметры:
-
- canvasobject
-
Этот параметр полностью не используется и сохраняется только для обратной совместимости.
-
axeslist of
matplotlib.axes.Axes -
Оси
Axesдля прикрепления курсора. - useblitbool, default: True
-
Использовать кеширование для более быстрого рисования, если это поддерживается бэкендом. Подробности см. в учебнике Более быстрое отображение с помощью кеширования.
- horizOnbool, default: False
-
Рисовать ли горизонтальную линию.
- vertOnbool, default: True
-
Рисовать ли вертикальную линию.
- Другие параметры:
Примеры
См. Мультикурсор.
- background()[исходный код]
-
[Устарело]
Примечания
Устарело начиная с версии 3.6:
- propertycanvas[исходный код]
- clear(event)[исходный код]
-
Очистить курсор.
- connect()[исходный код]
-
Подключить события.
- disconnect()[исходный код]
-
Отключить события.
- 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
Примечания
Если после удаления точек остаётся только одна точка, селектор возвращается в состояние незавершенности, и можно начать рисовать новый многоугольник с уже существующей точки.
Примеры
Селектор многоугольника Выбрать индексы из коллекции с помощью селектора многоугольника
- propertyline[исходный код]
- onmove(event)[исходный код]
-
Обработчик событий перемещения курсора и валидатор.
- propertyvertex_select_radius[исходный код]
- propertyverts
-
Вершины многоугольника в виде списка пар
(x, y).
- classmatplotlib.widgets.RadioButtons(ax, labels, active=0, activecolor='blue')[исходный код]
-
Основания:
AxesWidgetРадиокнопка для графического интерфейса.
Для сохранения отзывчивости кнопок необходимо сохранить ссылку на этот объект.
Подключитесь к RadioButtons с помощью метода
on_clicked.- Атрибуты:
-
-
ax
Axes -
Родительский объект Axes для виджета.
- activecolorцвет
-
Цвет выбранной кнопки.
-
labelsсписок
Text -
Метки кнопок.
-
circlesсписок
Circle -
Кнопки.
- value_selectedстрока
-
Текст метки текущей выбранной кнопки.
-
ax
Добавление радиокнопок в
Axes.- Параметры:
-
-
ax
Axes -
Объект Axes, в который будут добавлены кнопки.
- labelsсписок строк
-
Метки кнопок.
- activeцелое число
-
Индекс выбранной по умолчанию кнопки.
- activecolorцвет
-
Цвет выбранной кнопки.
-
ax
- disconnect(cid)[исходный код]
-
Удаление наблюдателя с идентификатором соединения cid.
- 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)[исходный код]
-
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)[исходный код]
-
Подключает func как функцию-обработчик к изменениям значения ползунка.
- Параметры:
-
- funccallable
-
Функция, вызываемая при изменении ползунка. Функция должна принимать массив NumPy с формой (2,) в качестве аргумента.
- Возвращает:
-
- int
-
Идентификатор соединения (который можно использовать для отключения func).
- set_max(max)[исходный код]
-
Устанавливает максимальное значение ползунка в max.
- Параметры:
-
- maxfloat
- set_min(min)[исходный код]
-
Устанавливает минимальное значение ползунка в min.
- Параметры:
-
- minfloat
- set_val(val)[исходный код]
-
Устанавливает значение ползунка в 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)[исходный код]
-
Базовые классы:
_SelectorWidgetВыберите прямоугольную область осей.
Для сохранения отзывчивости курсора необходимо сохранить ссылку на него.
События нажатия и отпускания, вызванные в одних и тех же координатах вне выделения, очистят селектор, за исключением случая, когда
ignore_event_outside=True.- Параметры:
-
-
ax
Axes -
Родительские оси виджета.
- onselectфункция
-
Функция обратного вызова, которая вызывается после события отпускания и создания, изменения или удаления выделения. Она должна иметь следующий синтаксис:
def onselect(eclick: MouseEvent, erelease: MouseEvent)
где eclick и erelease — события нажатия и отпускания мыши
MouseEvent, которые начинают и завершают выделение. - minspanxfloat, по умолчанию: 0
-
Выделения с размахом по оси x, меньшим или равным minspanx, удаляются (если уже существуют) или отменяются.
- minspanyfloat, по умолчанию: 0
-
Выделения с размахом по оси y, меньшим или равным minspanx, удаляются (если уже существуют) или отменяются.
- useblitbool, по умолчанию: False
-
Использовать ли блиттинг для более быстрой отрисовки (если это поддерживается бэкендом). Подробности см. в руководстве Более быстрое отображение с помощью блиттинга.
- propsdict, необязательно
-
Свойства, с помощью которых рисуется прямоугольник. Допустимые свойства см. в
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, форма "square" селектора определена в координатах данных, а не в координатах отображения.
-
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()>>> selector.add_state('square')См. также: Селекторы прямоугольников и эллипсов
- свойство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[исходный код]
- свойствоrotation
-
Поворот в градусах в интервале [-45°, 45°]. Поворот ограничен этим диапазоном для простоты реализации.
- свойствоto_draw[исходный код]
- classmatplotlib.widgets.Slider(ax, label, valmin, valmax, valinit=0.5, valfmt=None, closedmin=True, closedmax=True, slidermin=None, slidermax=None, dragging=True, valstep=None, orientation='horizontal', *, initcolor='r', track_color='lightgrey', handle_style=None, **kwargs)[исходный код]
-
Базовые классы:
SliderBaseПолзунок, представляющий диапазон с плавающей запятой.
Создаёт ползунок от 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)[исходный код]
-
Подключить func как функцию обратного вызова к изменениям значения ползунка.
- Параметры:
-
- funcвызываемый объект
-
Функция, которая будет вызываться при изменении ползунка. Функция должна принимать одно значение с плавающей точкой в качестве аргумента.
- Возвращает:
-
- int
-
Идентификатор подключения (который может быть использован для отключения func).
- set_val(val)[исходный код]
-
Установить значение ползунка на val.
- Параметры:
-
- valfloat
- classmatplotlib.widgets.SliderBase(ax, orientation, closedmin, closedmax, valmin, valmax, valfmt, dragging, valstep)[исходный код]
-
Базовые классы:
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Визуально выбирает диапазон мин/макс на одной оси и вызывает функцию с этими значениями.
Для гарантии, что селектор остаётся отзывчивым, сохраняйте ссылку на него.
Для отключения SpanSelector установите
span_selector.activeв значение False. Чтобы включить его обратно, установите в значение True.События нажатия и отпускания, сгенерированные в одних и тех же координатах вне выделения, удалят селектор, за исключением случаев, когда
ignore_event_outside=True.- Параметры:
-
-
ax
matplotlib.axes.Axes - onselectвызываемый объект
-
Функция обратного вызова, которая вызывается после события отпускания, когда выделение создано, изменено или удалено. Она должна иметь сигнатуру:
def on_select(min: float, max: float) -> Any
- direction{"horizontal", "vertical"}
-
Направление, вдоль которого будет нарисован селектор диапазона.
- minspanчисло с плавающей точкой, по умолчанию: 0
-
Если выделение меньше или равно minspan, выделение удаляется (если уже существует) или отменяется.
- useblitлогическое значение, по умолчанию: False
-
Если True, используются функции блиттинга, зависящие от бэкэнда, для более быстрого обновления холста. Подробности см. в руководстве Более быстрое отображение с помощью блиттинга.
- propsсловарь, необязательный
-
Словарь свойств
matplotlib.patches.Patch. По умолчанию:dict(facecolor='red', alpha=0.5) - onmove_callbackfunc(min, max), min/max — числа с плавающей точкой, по умолчанию: None
-
Вызывается при движении мыши во время выбора диапазона.
- span_staysлогическое значение, по умолчанию: False
-
Если True, диапазон остаётся видимым после отпускания мыши. Устарело, используйте interactive вместо этого.
- interactiveлогическое значение, по умолчанию: False
-
Определяет, будут ли нарисованы ручки для взаимодействия с виджетом после его отображения.
-
button
MouseButtonили списокMouseButton, по умолчанию: все кнопки -
Кнопки мыши, которые активируют селектор диапазона.
- handle_propsсловарь, по умолчанию: None
-
Свойства линий ручек на краях диапазона. Используются только при interactive = True. Смотрите
matplotlib.lines.Line2Dдля допустимых свойств. - grab_rangeчисло с плавающей точкой, по умолчанию: 10
-
Расстояние в пикселях, в пределах которого можно активировать ручки интерактивного инструмента.
- state_modifier_keysсловарь, необязательный
-
Модификаторы клавиш, влияющие на поведение виджета. Значения дополняют значения по умолчанию:
- "clear": Очистить текущую форму, по умолчанию: "escape".
- drag_from_anywhereлогическое значение, по умолчанию: False
-
Если
True, виджет можно перемещать, нажав в любой точке внутри его границ. - ignore_event_outsideлогическое значение, по умолчанию: False
-
Если
True, событие, сгенерированное вне селектора диапазона, будет проигнорировано. - snap_valuesодномерный объект, подобный массиву, необязательный
-
Привязать края селектора к заданным значениям.
-
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
-
Направление селектора диапазона: 'vertical' или 'horizontal'.
- propertyextents
-
Возвращает границы селектора диапазона.
- new_axes(ax)[исходный код]
-
Установить SpanSelector для работы с новой осью.
- propertypressv[исходный код]
- propertyprev[исходный код]
- propertyrect[исходный код]
- propertyrectprops[исходный код]
- propertyspan_stays[исходный код]
- классmatplotlib.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')[исходный код]
-
Базовые классы:
AxesWidgetВвод текста в графическом интерфейсе.
Для сохранения отзывчивости текстового поля необходимо сохранить ссылку на него.
Вызовите
on_text_change, чтобы обновлять поле при изменении текста.Вызовите
on_submit, чтобы обновлять поле при нажатии Enter или выходе из поля ввода.- Атрибуты:
-
-
ax
Axes -
Родительский объект Axes для виджета.
-
label
Text - colorцвет
-
Цвет текстового поля при отсутствии наведения курсора.
- hovercolorцвет
-
Цвет текстового поля при наведении курсора.
-
ax
- Параметры:
-
-
ax
Axes -
Экземпляр
Axes, в который будет помещен элемент. - labelстрока
-
Подпись для текстового поля.
- initialстрока
-
Начальное значение в текстовом поле.
- colorцвет
-
Цвет поля.
- hovercolorцвет
-
Цвет поля при наведении курсора.
- label_padвещественное число
-
Расстояние между подписью и правой стороной текстового поля.
- textalignment{'слева', 'по центру', 'справа'}
-
Горизонтальное выравнивание текста.
-
ax
- свойствоDIST_FROM_LEFT[исходный код]
- begin_typing(x)[исходный код]
- disconnect(cid)[исходный код]
-
Удалить наблюдателя с идентификатором подключения cid.
- on_submit(func)[исходный код]
-
При нажатии Enter или выходе из поля ввода вызвать эту функцию func с событием.
Возвращает идентификатор подключения, который можно использовать для отключения.
- on_text_change(func)[исходный код]
-
При изменении текста вызвать эту функцию func с событием.
Возвращает идентификатор подключения, который можно использовать для отключения.
- position_cursor(x)[исходный код]
- set_val(val)[исходный код]
- stop_typing()[исходный код]
- свойствоtext
- классmatplotlib.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
-
Использовать ли кеширование для более быстрого рисования (если поддерживается бэкендом). Подробности см. в руководстве Более быстрое отображение с помощью кеширования.
-
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
matplotlib.axes.Axes -
Объект Axes библиотеки Matplotlib, в котором отображаются элементы управления инструментом.
- positionsОдномерный массив
-
Положения элементов управления в координатах данных.
- direction{"горизонтально", "вертикально"}
-
Направление элементов управления: «вертикальное» или «горизонтальное».
- line_propsdict, необязательно
-
Дополнительные свойства линии. См.
matplotlib.lines.Line2D. - useblitbool, по умолчанию: True
-
Использовать ли blitting для более быстрого рисования (если поддерживается бэкендом). Подробности см. в руководстве Ускорение рендеринга с помощью blitting.
-
ax
- свойствоartists
- closest(x, y)[исходный код]
-
Возвращает индекс и расстояние в пикселях до ближайшего элемента управления.
- Параметры:
-
- x, yfloat
-
Положение x, y, от которого вычисляется расстояние для определения ближайшего элемента управления.
- Возвращает:
-
- индекс, расстояниеиндекс элемента управления и расстояние от него до
-
положения x, y
- свойствоdirection
-
Направление элемента управления: «вертикальное» или «горизонтальное».
- свойствоpositions
-
Положения элемента управления в координатах данных.
- remove()[исходный код]
-
Удалить графический объект элемента управления из фигуры.
- set_animated(value)[исходный код]
-
Установить состояние анимации графического объекта элемента управления.
- set_data(positions)[исходный код]
-
Задать координаты x или y элементов управления в зависимости от того, вертикальны или горизонтальны линии.
- Параметры:
-
- positionsкортеж длины 2
-
Задать положения элемента управления в координатах данных.
- set_visible(value)[исходный код]
-
Установить состояние видимости графического объекта элемента управления.
- классmatplotlib.widgets.Widget[исходный код]
-
Базовые классы:
objectАбстрактный базовый класс для GUI-независимых виджетов.
- свойствоactive
-
Активен ли виджет?
- 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.6.0/api/widgets_api.html