matplotlib.backend_bases
Абстрактные базовые классы определяют примитивы, которые должны реализовать рендереры и графические контексты, чтобы служить бэкэндом Matplotlib.
RendererBase-
Абстрактный базовый класс для обработки операций рисования/рендеринга.
FigureCanvasBase-
Уровень абстракции, который отделяет
Figureот бэкэнд-специфичных деталей, таких как область рисования пользовательского интерфейса. GraphicsContextBase-
Абстрактный базовый класс, предоставляющий цвет, стили линий и т.д.
Event-
Базовый класс для обработки всех событий Matplotlib. Производные классы, такие как
KeyEventиMouseEvent, хранят метаданные, такие как нажатые клавиши и кнопки, координаты x и y в пикселях и координатахAxes. ShowBase-
Базовый класс для класса
Showкаждого интерактивного бэкэнда; вызываемый метод 'show' затем устанавливается вShow.__call__. ToolContainerBase-
Базовый класс для класса панели инструментов каждого интерактивного бэкэнда.
- classmatplotlib.backend_bases.CloseEvent(name, canvas, guiEvent=None)[source]
-
Bases:
EventСобытие, срабатывающее при закрытии фигуры.
- classmatplotlib.backend_bases.DrawEvent(name, canvas, renderer)[source]
-
Bases:
EventСобытие, срабатывающее при операции рисования на холсте.
В большинстве бэкэндов обратные вызовы, подписные на это событие, будут вызываться после завершения рендеринга, но перед обновлением экрана. Любые дополнительные элементы, нарисованные на рендере холста, будут отображаться без явного вызова
blit.Предупреждение
Вызов
canvas.drawиcanvas.blitв этих обратных вызовах может быть небезопасным для всех бэкэндов и может вызвать бесконечную рекурсию.У DrawEvent есть ряд специальных атрибутов помимо тех, которые определены родительским классом
Event.- Атрибуты:
-
-
renderer
RendererBase -
Рендерер для события рисования.
-
renderer
- classmatplotlib.backend_bases.Event(name, canvas, guiEvent=None)[source]
-
Bases:
objectСобытие Matplotlib.
Ниже приведены атрибуты и их значения по умолчанию. Дочерние классы могут определить дополнительные атрибуты.
- Атрибуты:
-
- namestr
-
Название события.
-
canvas
FigureCanvasBase -
Экземпляр бэкэнд-специфичного холста, генерирующего событие.
- guiEvent
-
Событие графического интерфейса, которое вызвало событие Matplotlib.
- propertyguiEvent
- классmatplotlib.backend_bases.FigureCanvasBase(figure=None)[source]
-
Базы:
objectПоверхность холста, на которую отрисовывается фигура.
- Атрибуты:
-
-
figure
Figure -
Экземпляр фигуры высокого уровня.
-
figure
- blit(bbox=None)[source]
-
Обновление (blit) холста в области bbox (по умолчанию - весь холст).
- свойствоbutton_pick_id
- свойствоcallbacks
- свойствоdevice_pixel_ratio
-
Соотношение физических и логических пикселей холста на экране.
По умолчанию, это 1, что означает, что физические и логические пиксели имеют одинаковый размер. Подклассы, поддерживающие экраны с высоким разрешением, могут установить это свойство, чтобы указать, что это соотношение отличается. Все взаимодействия Matplotlib, кроме работы непосредственно с холстом, остаются в логических пикселях.
- draw(*args, **kwargs)[source]
-
Отрисовка
Figure.Этот метод должен пройти по дереву элементов, даже если вывод не генерируется, потому что он инициирует отложенную работу, к которой пользователи могут получить доступ до сохранения вывода на диск. Например, вычисление пределов, автоматических пределов и значений делений.
- draw_idle(*args, **kwargs)[source]
-
Запрос перерисовки виджета после возвращения управления циклу событий GUI.
Даже если несколько вызовов
draw_idleпроисходят до возвращения управления циклу событий GUI, фигура будет отрисована только один раз.Примечания
Модули могут переопределять метод и реализовывать свою стратегию для предотвращения многократной отрисовки.
- events=['resize_event', 'draw_event', 'key_press_event', 'key_release_event', 'button_press_event', 'button_release_event', 'scroll_event', 'motion_notify_event', 'pick_event', 'figure_enter_event', 'figure_leave_event', 'axes_enter_event', 'axes_leave_event', 'close_event']
- filetypes={'eps': 'Векторный PostScript', 'jpeg': 'Joint Photographic Experts Group', 'jpg': 'Joint Photographic Experts Group', 'pdf': 'Portable Document Format', 'pgf': 'PGF-код для LaTeX', 'png': 'Portable Network Graphics', 'ps': 'PostScript', 'raw': 'Необработанное RGBA-растровое изображение', 'rgba': 'Необработанное RGBA-растровое изображение', 'svg': 'Scalable Vector Graphics', 'svgz': 'Scalable Vector Graphics', 'tif': 'Tagged Image File Format', 'tiff': 'Tagged Image File Format', 'webp': 'WebP Image Format'}
- fixed_dpi=None
- flush_events()[source]
-
Очистка событий GUI для фигуры.
Интерактивные интерфейсы должны переопределить этот метод.
- get_default_filename()[source]
-
Возвращает строку, включая расширение, подходящую в качестве имени файла по умолчанию.
- класс-методget_default_filetype()[source]
-
Возвращает формат файла сохранения по умолчанию, как указано в
rcParams["savefig.format"](по умолчанию:'png').Возвращаемая строка не включает точку. Этот метод переопределяется в модулях, которые поддерживают только один тип файла.
- класс-методget_supported_filetypes()[source]
-
Возвращает словарь поддерживаемых форматов сохранения фигуры этим модулем.
- класс-методget_supported_filetypes_grouped()[source]
-
Возвращает словарь поддерживаемых форматов сохранения фигуры этим модулем, где ключи — имена форматов, такие как «Joint Photographic Experts Group», а значения — список расширений файлов для данного формата, например, ['jpg', 'jpeg'].
- get_width_height(*, physical=False)[source]
-
Возвращает ширину и высоту фигуры в целых точках или пикселях.
При использовании фигуры на экранах с высоким разрешением (и если модуль его поддерживает), усечение до целых чисел происходит после масштабирования с помощью коэффициента разрешения устройства.
- Параметры:
-
- physicalbool, по умолчанию: False
-
Возвращать ли истинные физические пиксели или логические пиксели. Физические пиксели могут использоваться модулями, которые поддерживают HiDPI, но все равно конфигурируют холст с использованием его фактического размера.
- Возвращает:
-
- width, heightint
-
Размер фигуры в точках или пикселях, в зависимости от модуля.
- grab_mouse(ax)[source]
-
Устанавливает дочерний
Axes, который получает события мыши.Обычно вызывается самими виджетами. Вызов этого метода при уже захваченной мыши другим Axes является ошибкой.
- inaxes(xy)[source]
-
Возвращает самый верхний видимый
Axes, содержащий точку xy.- Параметры:
-
- xy(float, float)
-
(x, y) пиксельные координаты с левого/нижнего края холста.
- Возвращает:
-
-
Axesили None -
Самый верхний видимый объект Axes, содержащий точку, или None, если в точке нет Axes.
-
- is_saving()[source]
-
Возвращает значение, указывающее, находится ли рендерер в процессе сохранения в файл, а не рендеринга для буфера на экране.
- manager_class[source]
-
Псевдоним для
FigureManagerBase.
- mpl_connect(s, func)[source]
-
Связывает функцию func с событием s.
- Параметры:
-
- sstr
-
Один из следующих идентификаторов событий:
- 'button_press_event'
- 'button_release_event'
- 'draw_event'
- 'key_press_event'
- 'key_release_event'
- 'motion_notify_event'
- 'pick_event'
- 'resize_event'
- 'scroll_event'
- 'figure_enter_event',
- 'figure_leave_event',
- 'axes_enter_event',
- 'axes_leave_event'
- 'close_event'.
- funccallable
-
Функция обратного вызова, которая должна иметь следующий сигнатуру:
def func(event: Event) -> Any
Для событий расположения (нажатия и отпускания кнопок мыши и нажатия/отпускания клавиш), если курсор находится над Axes, атрибут
inaxesсобытия будет установлен наAxes, над которым произошло событие, и дополнительно атрибутыxdataиydataбудут установлены на координаты мыши в координатах данных. См.KeyEventиMouseEventдля получения дополнительной информации.Примечание
Если func — метод, сохраняется только слабая ссылка на метод. Таким образом, фигура не влияет на время жизни связанного объекта. Обычно вы хотите убедиться, что объект остается активным в течение всего жизненного цикла фигуры, удерживая ссылку на него.
- Возвращает:
-
- cid
-
Идентификатор соединения, который можно использовать с
FigureCanvasBase.mpl_disconnect.
Примеры
def on_press(event): print('you pressed', event.button, event.xdata, event.ydata) cid = canvas.mpl_connect('button_press_event', on_press)
- mpl_disconnect(cid)[source]
-
Отключает обратный вызов с идентификатором cid.
Примеры
cid = canvas.mpl_connect('button_press_event', on_press) # ... later canvas.mpl_disconnect(cid)
- classmethodnew_manager(figure, num)[source]
-
Создаёт новый менеджер фигур для figure, используя этот класс холста.
Примечания
Этот метод не должен переопределяться в подклассах. Если необходима настройка создания менеджера, переопределите
FigureManager.create_with_canvas.
- new_timer(interval=None, callbacks=None)[source]
-
Создаёт новый подкласс
Timer, специфичный для бэкенда.Это полезно для получения периодических событий через встроенный цикл событий бэкенда. Реализовано только для бэкендов с графическими интерфейсами.
- Параметры:
-
- intervalint
-
Интервал таймера в миллисекундах.
- callbackslist[tuple[callable, tuple, dict]]
-
Последовательность (func, args, kwargs), где
func(*args, **kwargs)будет выполняться таймером каждые interval.Обратные вызовы, возвращающие
Falseили0, будут удалены из таймера.
Примеры
>>> timer = fig.canvas.new_timer(callbacks=[(f1, (1,), {'a': 3})])
- print_figure(filename, dpi=None, facecolor=None, edgecolor=None, orientation='portrait', format=None, *, bbox_inches=None, pad_inches=None, bbox_extra_artists=None, backend=None, **kwargs)[source]
-
Отобразить рисунок на носитель. Задайте цвета заливки и обводки области рисунка. Это полезно, поскольку некоторые графические интерфейсы имеют серый цвет фона области рисунка, и вы, вероятно, захотите переопределить его для печатных материалов.
- Параметры:
-
- filenameстрока или объект пути или файл-подобный объект
-
Файл, куда сохраняется рисунок.
-
dpiвещественное число, по умолчанию:
rcParams["savefig.dpi"](по умолчанию:'figure') -
Точек на дюйм для сохранения рисунка.
-
facecolorцвет или 'auto', по умолчанию:
rcParams["savefig.facecolor"](по умолчанию:'auto') -
Цвет заливки области рисунка. Если 'auto', используется текущий цвет заливки области рисунка.
-
edgecolorцвет или 'auto', по умолчанию:
rcParams["savefig.edgecolor"](по умолчанию:'auto') -
Цвет обводки области рисунка. Если 'auto', используется текущий цвет обводки области рисунка.
- orientation{'landscape', 'portrait'}, по умолчанию: 'portrait'
-
Применяется только к печати PostScript.
- formatстрока, необязательно
-
Принудительно использовать определенный формат файла. Если не указан, формат определяется по расширению файла filename, и если это не удается, по
rcParams["savefig.format"](по умолчанию:'png'). -
bbox_inches'tight' или
Bbox, по умолчанию:rcParams["savefig.bbox"](по умолчанию:None) -
Прямоугольник обрезки в дюймах: сохраняется только указанная часть рисунка. Если 'tight', попытаться определить прямоугольник обрезки рисунка.
-
pad_inchesвещественное число или 'layout', по умолчанию:
rcParams["savefig.pad_inches"](по умолчанию:0.1) -
Размер отступа в дюймах вокруг рисунка, когда bbox_inches равен 'tight'. Если 'layout', используйте отступ из управляемого или сжатого макета; игнорируется, если один из этих движков не используется.
-
bbox_extra_artistsсписок
Artist, необязательно -
Список дополнительных элементов, которые будут учитываться при расчете прямоугольника обрезки.
- backendстрока, необязательно
-
Используйте нестандартный движок для отображения файла, например, для отображения png-файла с движком "cairo" вместо стандартного "agg" или pdf-файла с движком "pgf" вместо стандартного "pdf". Обратите внимание, что стандартный движок обычно достаточен. См. Встроенные движки для списка допустимых движков для каждого формата файла. К пользовательским движкам можно обращаться как "module://...".
- release_mouse(ax)[source]
-
Освободить захват мыши, удерживаемый элементом
Axesax.Обычно вызывается виджетами. Хорошо вызывать его, даже если ax не имеет захвата мыши в данный момент.
- required_interactive_framework=None
- propertyscroll_pick_id
- set_cursor(cursor)[source]
-
Установить текущий курсор.
Это может не иметь никакого эффекта, если движок не отображает ничего.
Если это требуется движком, этот метод должен вызвать обновление в цикле событий движка после установки курсора, так как этот метод может вызываться, например, перед длительной задачей, во время которой графический интерфейс не обновляется.
- Параметры:
-
-
cursor
Cursors -
Курсор, который нужно отобразить над холстом. Примечание: некоторые движки могут изменить курсор для всего окна.
-
cursor
- start_event_loop(timeout=0)[source]
-
Запустить блокирующий цикл событий.
Такой цикл событий используется интерактивными функциями, такими как
ginputиwaitforbuttonpress, для ожидания событий.Цикл событий блокируется до тех пор, пока функция обратного вызова не вызовет
stop_event_loop, или не истечёт время ожидания timeout.Если timeout равен 0 или меньше, ожидания не происходит.
Только интерактивные движки должны переопределять этот метод и полагаются на правильную реализацию
flush_events.Интерактивные движки должны реализовывать это более нативным способом.
- stop_event_loop()[source]
-
Остановить текущий блокирующий цикл событий.
Интерактивные движки должны переопределить этот метод, чтобы соответствовать
start_event_loop
- supports_blit=False
- switch_backends(FigureCanvasClass)[source]
-
[Устаревший] Создать экземпляр FigureCanvasClass
Используется для переключения движков, например, для создания FigureCanvasPS из FigureCanvasGTK. Обратите внимание, что глубокое копирование не выполняется, поэтому любые изменения в одном из экземпляров (например, установка размера рисунка или свойств линии) будут отражены в другом
Примечания
Устарело начиная с версии 3.8.
- classmatplotlib.backend_bases.FigureManagerBase(canvas, num)[source]
-
Базы:
objectАбстракция, независимая от бэкенда, контейнера и контроллера фигур.
Менеджер фигур используется pyplot для взаимодействия с окном независимо от бэкенда. Это адаптер для реальной (GUI) среды, представляющей визуальную фигуру на экране.
Менеджер фигур подключен к конкретному экземпляру холста, который, в свою очередь, подключен к конкретному экземпляру фигуры. Для доступа к менеджеру фигур для данной фигуры в пользовательском коде обычно используется
fig.canvas.manager.GUI-бэкенды наследуются от этого класса для перевода общих операций, таких как show или resize, на код, специфичный для GUI. GUI-бэкенды не поддерживают эти операции и могут просто использовать базовый класс.
Доступны следующие базовые операции:
Операции с окном
Обработка нажатий клавиш и кнопок мыши
Менеджер фигур устанавливает обработку нажатий клавиш и кнопок мыши по умолчанию, подключив
key_press_handlerк системе событий matplotlib. Это гарантирует одинаковые сочетания клавиш и действия мыши во всех бэкендах.Другие операции
Подклассы будут иметь дополнительные атрибуты и функции для доступа к дополнительным функциям. Это, конечно, зависит от бэкенда. Например, большинство GUI-бэкендов имеют атрибуты
windowиtoolbar, которые обеспечивают доступ к нативным виджетам GUI соответствующей среды.- Атрибуты:
-
-
canvas
FigureCanvasBase -
Экземпляр холста, специфичный для бэкенда.
- numint или str
-
Номер фигуры.
- key_press_handler_idint
-
Идентификатор обработчика клавиш по умолчанию, при использовании toolmanager. Чтобы отключить обработку нажатий клавиш по умолчанию, используйте:
figure.canvas.mpl_disconnect( figure.canvas.manager.key_press_handler_id) - button_press_handler_idint
-
Идентификатор обработчика нажатий кнопок мыши по умолчанию, при использовании toolmanager. Чтобы отключить обработку нажатий кнопок мыши по умолчанию, используйте:
figure.canvas.mpl_disconnect( figure.canvas.manager.button_press_handler_id)
-
canvas
- classmethodcreate_with_canvas(canvas_class, figure, num)[source]
-
Создать менеджер для заданной figure с использованием определенного canvas_class.
Бэкенды должны переопределять этот метод, если им нужны особые потребности для настройки холста или менеджера.
- destroy()[source]
- full_screen_toggle()[source]
- get_window_title()[source]
-
Возвращает текст заголовка окна, содержащего фигуру, или None, если окно отсутствует (например, бэкенд PS).
- classmethodpyplot_show(*, block=None)[source]
-
Отобразить все фигуры. Этот метод является реализацией
pyplot.show.Чтобы настроить поведение
pyplot.show, интерактивные бэкенды обычно должны переопределятьstart_main_loop; если нужна более настраиваемая логика,pyplot_showтакже можно переопределить.- Параметры:
-
- blockbool, необязательно
-
Блокировать ли, вызывая
start_main_loop. По умолчанию, None, означает блокировку, если мы не находимся в режиме IPython's%pylabили в режимеinteractive.
- resize(w, h)[source]
-
Для GUI-бэкендов изменить размер окна (в пикселях).
- set_window_title(title)[source]
-
Установить текст заголовка окна, содержащего фигуру.
Это не имеет эффекта для бэкендов, не относящихся к GUI (например, PS).
Примеры
>>> fig = plt.figure() >>> fig.canvas.manager.set_window_title('My figure')
- show()[source]
-
Для GUI-бэкендов отобразить окно фигуры и перерисовать. Для бэкендов, не относящихся к GUI, вызовите исключение, если не выполняется в режиме headless (т. е. на Linux без установленного DISPLAY); это исключение преобразуется в предупреждение в
Figure.show.
- classmethodstart_main_loop()[source]
-
Запустить основной цикл событий.
Этот метод вызывается
FigureManagerBase.pyplot_show, который является реализациейpyplot.show. Чтобы настроить поведениеpyplot.show, интерактивные бэкенды обычно должны переопределятьstart_main_loop; если нужна более настраиваемая логика,pyplot_showтакже можно переопределить.
- classmatplotlib.backend_bases.GraphicsContextBase[source]
-
Bases:
objectАбстрактный базовый класс, предоставляющий цвет, стили линий и т. д.
- copy_properties(gc)[source]
-
Копирует свойства из gc в self.
- get_alpha()[source]
-
Возвращает значение альфа-канала, используемого для смешивания. Не поддерживается во всех бэкендах.
- get_antialiased()[source]
-
Возвращает значение, указывающее, должен ли объект выполнять антиалиасинговое рендеринг.
- get_capstyle()[source]
-
Возвращает значение
CapStyle.
- get_clip_path()[source]
-
Возвращает путь обрезки в виде (path, transform), где path — экземпляр
Path, а transform — аффинное преобразование, применяемое к пути перед обрезкой.
- get_clip_rectangle()[source]
-
Возвращает прямоугольник обрезки в виде экземпляра
Bbox.
- get_dashes()[source]
-
Возвращает стиль штриховки в виде пары (смещение, список штрихов).
См.
set_dashesдля подробностей.Значение по умолчанию — (None, None).
- get_forced_alpha()[source]
-
Возвращает значение, указывающее, должно ли значение, возвращаемое функцией get_alpha(), переопределять любые другие значения альфа-канала.
- get_gid()[source]
-
Возвращает идентификатор объекта, если он задан, иначе None.
- get_hatch()[source]
-
Получить текущий стиль штриховки.
- get_hatch_color()[source]
-
Получить цвет штриховки.
- get_hatch_linewidth()[source]
-
Получить ширину линии штриховки.
- get_hatch_path(density=6.0)[source]
-
Возвращает
Pathдля текущей штриховки.
- get_joinstyle()[source]
-
Возвращает значение
JoinStyle.
- get_linewidth()[source]
-
Возвращает ширину линии в пунктах.
- get_rgb()[source]
-
Возвращает кортеж из трёх или четырёх чисел с плавающей точкой от 0 до 1.
- get_sketch_params()[source]
-
Возвращает параметры наброска для художника.
- Возвращаемое значение:
-
- кортеж или
None -
Кортеж из 3 элементов:
-
scale: Амплитуда колебания перпендикулярно исходной линии. -
length: Длина колебания вдоль линии. -
randomness: Коэффициент масштабирования, определяющий сжатие или расширение длины.
Может вернуть
None, если параметры наброска не были установлены. -
- кортеж или
- get_snap()[source]
-
Возвращает настройку snap, которая может быть:
- True: вершины привязываются к ближайшему центру пикселя
- False: вершины остаются как есть
- None: (автоматически) если путь содержит только прямолинейные отрезки, вершины округляются до ближайшего центра пикселя
- get_url()[source]
-
Возвращает URL, если он задан, иначе None.
- restore()[source]
-
Восстановить графический контекст из стека — необходимо только для бэкендов, которые сохраняют графические контексты в стеке.
- set_alpha(alpha)[source]
-
Установить значение альфа-канала, используемое для смешивания — не поддерживается во всех бэкендах.
Если
alpha=None(значение по умолчанию), компоненты альфа-канала цветов переднего плана и заливки будут использоваться для установки их соответствующей прозрачности (если применимо); в противном случае,alphaпереопределят их.
- set_antialiased(b)[source]
-
Установить, нужно ли рисовать объекты с антиалиасингом.
- set_capstyle(cs)[source]
-
Установить способ рисования конечных точек линий.
- Параметры:
-
-
cs
CapStyleили {'butt', 'projecting', 'round'}
-
cs
- set_clip_path(path)[source]
-
Установить путь обрезки на
TransformedPathили None.
- set_clip_rectangle(rectangle)[source]
-
Установить прямоугольник обрезки на
Bboxили None.
- set_dashes(dash_offset, dash_list)[source]
-
Установить стиль штриховки для графического контекста.
- Параметры:
-
- dash_offsetfloat
-
Расстояние в пунктах до начала шаблона штриховки. Обычно устанавливается в 0.
- dash_listпоследовательность или None
-
Последовательность чередующихся длин штрихов и пробелов в пунктах. None задаёт сплошную линию. Все значения должны быть неотрицательными (\(\ge 0\)).
Примечания
См. стр. 666 руководства PostScript Language Reference для получения дополнительной информации.
- set_foreground(fg, isRGBA=False)[source]
-
Установить цвет переднего плана.
- Параметры:
-
- fgцвет
- isRGBAbool
-
Если известно, что fg является кортежем
(r, g, b, a), isRGBA можно установить в True для повышения производительности.
- set_gid(id)[source]
-
Установить идентификатор.
- set_hatch(hatch)[source]
-
Установить стиль штриховки (для заливки).
- set_hatch_color(hatch_color)[source]
-
Установить цвет штриховки.
- set_joinstyle(js)[source]
-
Установить способ соединения сегментов линий.
- Параметры:
-
-
js
JoinStyleили {'miter', 'round', 'bevel'}
-
js
- set_linewidth(w)[source]
-
Установить ширину линии в пунктах.
- set_sketch_params(scale=None, length=None, randomness=None)[source]
-
Установить параметры "наброска".
- Параметры:
-
- scalefloat, необязательно
-
Амплитуда колебаний перпендикулярно исходной линии в пикселях. Если scale равен
None, или не предоставлен, фильтр "наброска" не будет применён. - lengthfloat, по умолчанию: 128
-
Длина колебаний вдоль линии в пикселях.
- randomnessfloat, по умолчанию: 16
-
Коэффициент масштабирования, по которому длина сжимается или расширяется.
- set_snap(snap)[source]
-
Установите параметр привязки, который может быть:
- True: привязывать вершины к ближайшему центру пикселя
- False: оставить вершины как есть
- None: (авто) Если путь содержит только прямолинейные отрезки, округлять до ближайшего центра пикселя
- set_url(url)[source]
-
Установите URL для ссылок в совместимых бэкэндах.
- classmatplotlib.backend_bases.KeyEvent(name, canvas, key, x=0, y=0, guiEvent=None)[source]
-
Bases:
LocationEventСобытие нажатия клавиши (ввода или отпускания).
В событии KeyEvent присутствует ряд специальных атрибутов помимо тех, что определены родительскими классами
EventиLocationEvent.Примечания
Модификаторы клавиш будут предварять нажатую клавишу и будут расположены в порядке "ctrl", "alt", "super". Исключением из этого правила является случай, когда нажатой клавишей является сама клавиша-модификатор, поэтому "ctrl+alt" и "alt+control" могут быть допустимыми значениями ключа.
Примеры
def on_key(event): print('you pressed', event.key, event.xdata, event.ydata) cid = fig.canvas.mpl_connect('key_press_event', on_key)- Атрибуты:
-
- keyNone или str
-
Нажатая(ые) клавиша(ы). Может быть None, одиночный регистрозависимый символ Unicode ("g", "G", "#", и т.д.), специальная клавиша ("control", "shift", "f1", "up", и т.д.) или сочетание вышеперечисленного (например, "ctrl+alt+g", "ctrl+alt+G").
- classmatplotlib.backend_bases.LocationEvent(name, canvas, x, y, guiEvent=None, *, modifiers=None)[source]
-
Bases:
EventСобытие, имеющее экранное расположение.
В LocationEvent присутствует ряд специальных атрибутов помимо тех, что определены родительским классом
Event.- Атрибуты:
-
- x, yint или None
-
Расположение события в пикселях от нижнего левого угла холста.
-
inaxes
Axesили None -
Объект
Axes, над которым находится курсор, если таковой имеется. - xdata, ydatafloat или None
-
Координаты данных курсора внутри inaxes, или None, если курсор не находится над областью Axes.
- modifiersfrozenset
-
Нажатые клавиши-модификаторы (кроме KeyEvent).
- lastevent=<matplotlib.backend_bases.MouseEvent object>[source]
- classmatplotlib.backend_bases.MouseButton(value, names=None, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
-
Bases:
IntEnum- BACK=8[source]
- FORWARD=9[source]
- LEFT=1[source]
- MIDDLE=2[source]
- RIGHT=3[source]
- classmatplotlib.backend_bases.MouseEvent(name, canvas, x, y, button=None, key=None, step=0, dblclick=False, guiEvent=None, *, modifiers=None)[source]
-
Bases:
LocationEventСобытие мыши ('button_press_event', 'button_release_event', 'scroll_event', 'motion_notify_event').
У объекта MouseEvent есть ряд специальных атрибутов помимо тех, что определены родительскими классами
EventиLocationEvent.Примеры
def on_press(event): print('you pressed', event.button, event.xdata, event.ydata) cid = fig.canvas.mpl_connect('button_press_event', on_press)- Атрибуты:
-
-
buttonNone или
MouseButtonили {'up', 'down'} -
Нажатая кнопка. 'up' и 'down' используются для событий прокрутки.
Обратите внимание, что LEFT и RIGHT фактически относятся к "первичной" и "вторичной" кнопкам, т.е. если пользователь инвертирует свои левую и правую кнопки ("леворукое положение"), то кнопка LEFT будет той, которая физически находится справа.
Если это не задано, name — "scroll_event", и step — не равно нулю, то это будет установлено в "up" или "down" в зависимости от знака step.
- keyNone или str
-
Нажатая клавиша, когда произошло событие мыши, например, 'shift'. См.
KeyEvent.Предупреждение
Эта клавиша в настоящее время получена из последнего 'key_press_event' или 'key_release_event', произошедшего в области рисования. Таким образом, если последнее изменение состояния клавиатуры произошло, когда область рисования не имела фокуса, этот атрибут будет неверным. С другой стороны, атрибут
modifiersвсегда должен быть правильным, но он может сообщать только о модификаторах клавиш. - stepfloat
-
Количество шагов прокрутки (положительное для 'up', отрицательное для 'down'). Это относится только к 'scroll_event' и по умолчанию равно 0 в других случаях.
- dblclickbool
-
Является ли событие двойным щелчком. Это относится только к 'button_press_event' и по умолчанию False в других случаях. В частности, оно не используется в 'button_release_event'.
-
buttonNone или
-
Bases:
objectБазовый класс для курсора навигации, версия 2.
Бэкэнды должны реализовать холст, который обрабатывает соединения для событий 'button_press_event' и 'button_release_event'. Подробнее см.
FigureCanvasBase.mpl_connect().Они также должны определить
save_figure()-
Сохранить текущую фигуру.
-
draw_rubberband()(необязательно) -
Отобразить прямоугольник "резинки" для масштабирования.
-
set_message()(необязательно) -
Отобразить сообщение.
-
set_history_buttons()(необязательно) -
Можно изменить кнопки истории "назад" / "вперед", чтобы указать состояние "отключено" / "включено".
и переопределить
__init__, чтобы настроить панель инструментов — не забывая вызвать init базового класса. Как правило,__init__необходимо настроить кнопки панели инструментов, связанные с методамиhome,back,forward,pan,zoomиsave_figure, и использовать стандартные значки в подкаталоге "images" пути к данным.Всё, остальное сделаем!
-
Перейти на предыдущий уровень стека пределов отображения.
Для удобства прямого подключения в качестве обратного вызова GUI, которому часто передаются дополнительные параметры, этот метод принимает произвольные параметры, но не использует их.
-
Обработчик перетаскивания в режиме панорамирования/масштабирования.
-
Обработчик перетаскивания в режиме масштабирования.
-
Отрисовать прямоугольник резинки, чтобы указать пределы масштабирования.
Обратите внимание, что не гарантируется, что
x0 <= x1иy0 <= y1.
-
Перейти вперёд в стеке пределов отображения.
Для удобства прямого подключения в качестве обратного вызова GUI, которому часто передаются дополнительные параметры, этот метод принимает произвольные параметры, но не использует их.
-
Восстановить исходный вид.
Для удобства прямого подключения в качестве обратного вызова GUI, которому часто передаются дополнительные параметры, этот метод принимает произвольные параметры, но не использует их.
-
Переключить инструмент панорамирования/масштабирования.
Панорамирование левой кнопкой, масштабирование правой.
-
Обработчик нажатия клавиши мыши в режиме панорамирования/масштабирования.
-
Обработчик нажатия клавиши мыши в режиме масштабирования.
-
Добавить текущие пределы отображения и положение в стек.
-
Обработчик отпускания клавиши мыши в режиме панорамирования/масштабирования.
-
Обработчик отпускания клавиши мыши в режиме масштабирования.
-
Удалить резинку.
-
Сохранить текущую фигуру.
-
Включить или отключить кнопки "Назад" / "Вперед".
-
Отобразить сообщение на панели инструментов или в строке состояния.
-
Сбросить стек осей.
-
- exceptionmatplotlib.backend_bases.NonGuiException[source]
-
Bases:
ExceptionВозникает при попытке отобразить фигуру в бекенде без графического интерфейса.
- classmatplotlib.backend_bases.PickEvent(name, canvas, mouseevent, artist, guiEvent=None, **kwargs)[source]
-
Bases:
EventСобытие выбора.
Это событие срабатывает, когда пользователь выбирает местоположение на холсте, достаточно близкое к элементу, который был сделан выбираемым с помощью
Artist.set_picker.У PickEvent есть ряд специальных атрибутов помимо тех, которые определены в родительском классе
Event.Примеры
Привяжите функцию
on_pick()к событиям выбора, которая печатает координаты выбранной точки данных:ax.plot(np.rand(100), 'o', picker=5) # 5 points tolerance def on_pick(event): line = event.artist xdata, ydata = line.get_data() ind = event.ind print(f'on pick line: {xdata[ind]:.3f}, {ydata[ind]:.3f}') cid = fig.canvas.mpl_connect('pick_event', on_pick)- Атрибуты:
-
-
mouseevent
MouseEvent -
Событие мыши, которое сгенерировало выбор.
-
artist
Artist -
Выбранный элемент. Обратите внимание, что элементы по умолчанию не выбираемы (см.
Artist.set_picker). - other
-
Дополнительные атрибуты могут присутствовать в зависимости от типа выбранного объекта; например, выбор
Line2Dможет определить различные дополнительные атрибуты, чем выборPatchCollection.
-
mouseevent
- classmatplotlib.backend_bases.RendererBase[source]
-
Bases:
objectАбстрактный базовый класс для обработки операций рисования/рендеринга.
Следующие методы должны быть реализованы в бэкенде для полной функциональности (хотя реализация только
draw_pathдаст весьма функциональный бэкенд):Следующие методы должны быть реализованы в бэкенде по причинам оптимизации:
- close_group(s)[source]
-
Закрыть элемент группировки с меткой s.
Используется только рендерером SVG.
- draw_gouraud_triangle(gc, points, colors, transform)[source]
-
[Устаревший] Отрисовка треугольника с заливкой Гуро.
- Parameters:
-
-
gc
GraphicsContextBase -
Контекст графики.
- points(3, 2) array-like
-
Массив точек (x, y) для треугольника.
- colors(3, 4) array-like
-
Цвета RGBA для каждой точки треугольника.
-
transform
Transform -
Аффинное преобразование, применяемое к точкам.
-
gc
Notes
Устарело начиная с версии 3.7: Используйте draw_gouraud_triangles вместо этого.
- draw_gouraud_triangles(gc, triangles_array, colors_array, transform)[source]
-
Отрисовка серии треугольников с заливкой Гуро.
- Parameters:
-
-
gc
GraphicsContextBase -
Контекст графики.
- triangles_array(N, 3, 2) array-like
-
Массив N точек (x, y) для треугольников.
- colors_array(N, 3, 4) array-like
-
Массив N цветов RGBA для каждой точки треугольников.
-
transform
Transform -
Аффинное преобразование, применяемое к точкам.
-
gc
- draw_image(gc, x, y, im, transform=None)[source]
-
Отрисовка RGBA изображения.
- Parameters:
-
-
gc
GraphicsContextBase -
Контекст графики с информацией о обрезке.
- xскаляр
-
Расстояние в физических единицах (т.е., точках или пикселях) от левой стороны холста.
- yскаляр
-
Расстояние в физических единицах (т.е., точках или пикселях) от нижней стороны холста.
-
im(N, M, 4) массив из
numpy.uint8 -
Массив пикселей RGBA.
-
transform
Affine2DBase -
Если и только если конкретный бэкенд написан таким образом, что
option_scale_imageвозвращаетTrue, может быть передано аффинное преобразование (т.е.,Affine2DBase) может быть передано вdraw_image. Вектор смещения преобразования задается в физических единицах (т.е., точках или пикселях). Обратите внимание, что преобразование не переопределяет x и y, и должно быть применено до преобразования результата на x и y (это можно сделать, добавив x и y к вектору смещения, определенному transform).
-
gc
- draw_markers(gc, marker_path, marker_trans, path, trans, rgbFace=None)[source]
-
Отрисовка маркера в каждой вершине пути path (исключая контрольные точки).
Основная (резервная) реализация выполняет несколько вызовов
draw_path. Векторы отображения могут переопределить этот метод, чтобы отрисовать маркер только один раз и повторно использовать его несколько раз.- Параметры:
-
-
gc
GraphicsContextBase -
Контекст графики.
-
marker_path
Path -
Путь для маркера.
-
marker_trans
Transform -
Аффинное преобразование, применяемое к маркеру.
-
path
Path -
Позиции для отрисовки маркеров.
-
trans
Transform -
Аффинное преобразование, применяемое к пути.
- rgbFaceцвет, необязательно
-
gc
- draw_path(gc, path, transform, rgbFace=None)[source]
-
Отрисовка экземпляра
Pathс использованием заданного аффинного преобразования.
- draw_path_collection(gc, master_transform, paths, all_transforms, offsets, offset_trans, facecolors, edgecolors, linewidths, linestyles, antialiaseds, urls, offset_position)[source]
-
Отрисовка набора путей paths.
Каждый путь сначала преобразуется соответствующей записью в all_transforms (список матриц (3, 3)), а затем — master_transform. Затем они переводятся соответствующей записью в offsets, которая была преобразована offset_trans.
facecolors, edgecolors, linewidths, linestyles и antialiased — списки, устанавливающие соответствующие свойства.
offset_position больше не используется, но аргумент сохраняется для обратной совместимости.
Основная (резервная) реализация выполняет несколько вызовов
draw_path. Векторы отображения могут переопределить этот метод, чтобы отобразить каждый набор данных пути только один раз и затем ссылаться на этот путь несколько раз с различными смещениями, цветами, стилями и т. д. Методы-генераторы_iter_collection_raw_pathsи_iter_collectionпредоставляются для помощи (и стандартизации) реализации в разных векторах отображения. Настоятельно рекомендуется использовать эти генераторы, чтобы изменения в поведенииdraw_path_collectionможно было внести глобально.
- draw_quad_mesh(gc, master_transform, meshWidth, meshHeight, coordinates, offsets, offsetTrans, facecolors, antialiased, edgecolors)[source]
-
Отрисовка quadmesh.
Основная (резервная) реализация преобразует quadmesh в пути и затем вызывает
draw_path_collection.
- draw_tex(gc, x, y, s, prop, angle, *, mtext=None)[source]
-
Отрисовка TeX-экземпляра.
- Параметры:
-
-
gc
GraphicsContextBase -
Контекст графики.
- xfloat
-
Координата x текста в координатах отображения.
- yfloat
-
Координата y базовой линии текста в координатах отображения.
- sstr
-
Строка TeX-текста.
-
prop
FontProperties -
Свойства шрифта.
- anglefloat
-
Угол поворота в градусах против часовой стрелки.
-
mtext
Text -
Исходный объект текста для отрисовки.
-
gc
- draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None)[source]
-
Отрисовка текстового элемента.
- Параметры:
-
-
gc
GraphicsContextBase -
Контекст графики.
- xfloat
-
Положение x текста в координатах отображения.
- yfloat
-
Положение y базовой линии текста в координатах отображения.
- sstr
-
Строка текста.
-
prop
FontProperties -
Свойства шрифта.
- anglefloat
-
Угол поворота в градусах против часовой стрелки.
- ismathbool или "TeX"
-
Если True, используется парсер mathtext. Если "TeX", используется tex для рендеринга.
-
mtext
Text -
Исходный объект текста для рендеринга.
-
gc
Примечания
Примечание для разработчиков бэкэндов:
При определении правильности вычисления области обрезки (что необходимо для корректного выравнивания текста), полезно изменить строку в файле text.py:
if 0: bbox_artist(self, renderer)
на if 1, и тогда фактическая область обрезки будет нарисована вместе с текстом.
- flipy()[source]
-
Возвращает значение, указывающее, увеличиваются ли значения y сверху вниз.
Обратите внимание, что это влияет только на отрисовку текста.
- get_canvas_width_height()[source]
-
Возвращает ширину и высоту холста в координатах отображения.
- get_image_magnification()[source]
-
Возвращает коэффициент увеличения изображений, передаваемых в
draw_image. Позволяет бэкэнду иметь изображения с разрешением, отличным от разрешения других элементов.
- get_texmanager()[source]
-
Возвращает экземпляр
TexManager.
- get_text_width_height_descent(s, prop, ismath)[source]
-
Возвращает ширину, высоту и отступ от нижней границы до базовой линии (в координатах отображения) строки s со свойствами шрифта
FontPropertiesprop.Пробелы в начале и конце строки s учитываются при вычислении ширины.
- new_gc()[source]
-
Возвращает экземпляр
GraphicsContextBase.
- open_group(s, gid=None)[source]
-
Открывает элемент группировки с меткой s и gid (если задано) в качестве идентификатора.
Используется только в SVG рендере.
- option_image_nocomposite()[source]
-
Возвращает значение, указывающее, нужно ли пропускать композицию изображений Matplotlib.
Бэкэнды растровых изображений обычно должны возвращать False (позволяя C-уровневому растровику обрабатывать композицию изображений); бэкэнды векторных изображений обычно должны возвращать
not rcParams["image.composite_image"].
- option_scale_image()[source]
-
Возвращает значение, указывающее, поддерживаются ли произвольные аффинные преобразования в
draw_image(True для большинства векторных бэкэндов).
- points_to_pixels(points)[source]
-
Преобразует точки в единицы отображения.
Вам нужно переопределить эту функцию (если ваш бэкэнд не имеет dpi, например, postscript или svg). Некоторые системы отображения предполагают определенное значение для пикселей на дюйм:
points to pixels = points * pixels_per_inch/72 * dpi/72
- Параметры:
-
- pointsfloat или array-like
- Возвращает:
-
- Точки, преобразованные в пиксели
- start_filter()[source]
-
Переключается на временный рендерер для эффектов фильтрации изображений.
В настоящее время поддерживается только рендерером agg.
- start_rasterizing()[source]
-
Переключается на растровый рендерер.
Используется
MixedModeRenderer.
- stop_filter(filter_func)[source]
-
Возвращение к исходному рендереру. Содержимое временного рендерера обрабатывается с помощью filter_func и отображается на исходном рендерере как изображение.
В настоящее время поддерживается только рендерером agg.
- stop_rasterizing()[source]
-
Возвращение к векторному рендереру и отрисовка содержимого растрового рендерера как изображения на векторном рендерере.
Используется классом
MixedModeRenderer.
- classmatplotlib.backend_bases.ResizeEvent(name, canvas)[source]
-
Bases:
EventСобытие, срабатывающее при изменении размеров холста.
У ResizeEvent есть ряд специальных атрибутов помимо тех, что определены родительским классом
Event.- Атрибуты:
-
- widthint
-
Ширина холста в пикселях.
- heightint
-
Высота холста в пикселях.
- classmatplotlib.backend_bases.ShowBase[source]
-
Bases:
_BackendПростой базовый класс для генерации функции
show()в бэкендах.Подкласс должен переопределить метод
mainloop().
- classmatplotlib.backend_bases.TimerBase(interval=None, callbacks=None)[source]
-
Bases:
objectБазовый класс для обеспечения таймерных событий, полезный для анимаций. Бэкенды должны реализовать несколько конкретных методов для использования собственных механизмов тайминга, чтобы таймерные события были интегрированы в их циклы обработки событий.
Подклассы должны переопределить следующие методы:
-
_timer_start: Код бэкенда для запуска таймера. -
_timer_stop: Код бэкенда для остановки таймера.
Подклассы могут дополнительно переопределить следующие методы:
-
_timer_set_single_shot: Код для установки таймера в режим одиночного запуска, если это поддерживается объектом таймера. В противном случае сам классTimerбудет хранить флаг, и метод_on_timerдолжен быть переопределён для поддержки такого поведения. -
_timer_set_interval: Код для установки интервала таймера, если есть такой метод в объекте таймера. -
_on_timer: Внутренняя функция, которую должен вызывать любой объект таймера, которая будет обрабатывать задачу запуска всех установленных обратных вызовов.
- Параметры:
-
- intervalint, по умолчанию: 1000мс
-
Время между таймерными событиями в миллисекундах. Будет храниться как
timer.interval. - callbackslist[tuple[callable, tuple, dict]]
-
Список кортежей (func, args, kwargs), которые будут вызываться при таймерных событиях. Этот список доступен как
timer.callbacksи может быть изменён напрямую, или могут быть использованы функцииadd_callbackиremove_callback.
- add_callback(func, *args, **kwargs)[source]
-
Регистрация func для вызова таймером при срабатывании события. Любые дополнительные аргументы будут переданы в func.
Эта функция возвращает func, что позволяет использовать её как декоратор.
- propertyinterval
-
Время между таймерными событиями в миллисекундах.
- remove_callback(func, *args, **kwargs)[source]
-
Удаление func из списка обратных вызовов.
args и kwargs являются необязательными и используются для различения копий одной и той же функции, зарегистрированных для вызова с разными аргументами. Это поведение устарело. В будущем
*args, **kwargsбольше не будет рассматриваться; для сохранения возможности удаления конкретного обратного вызова, передайте его вadd_callbackкак объектfunctools.partial.
- propertysingle_shot
-
Флаг, указывающий, должен ли таймер остановиться после одного запуска.
- start(interval=None)[source]
-
Запуск объекта таймера.
- Параметры:
-
- intervalint, необязательно
-
Интервал таймера в миллисекундах; переопределяет ранее установленный интервал, если предоставлен.
- stop()[source]
-
Остановка таймера.
-
- classmatplotlib.backend_bases.ToolContainerBase(toolmanager)[source]
-
Bases:
objectБазовый класс для всех контейнеров инструментов, например, панелей инструментов.
- Атрибуты:
-
-
toolmanager
ToolManager -
Инструменты, с которыми этот
ToolContainerхочет взаимодействовать.
-
toolmanager
- add_tool(tool, group, position=-1)[source]
-
Добавить инструмент в этот контейнер.
- Параметры:
-
- tooltool_like
-
Инструмент для добавления, см.
ToolManager.get_tool. - groupstr
-
Имя группы, к которой добавить этот инструмент.
- positionint, по умолчанию: -1
-
Позиция в группе для размещения этого инструмента.
- add_toolitem(name, group, position, image, description, toggle)[source]
-
Добавить элемент инструмента в контейнер.
Этот метод должен быть реализован для каждого бэкэнда.
Обработчик события нажатия кнопки должен быть ровно
self.trigger_tool(name).- Параметры:
-
- namestr
-
Имя добавляемого инструмента, используется в качестве идентификатора инструмента и по умолчанию в качестве метки кнопок.
- groupstr
-
Имя группы, к которой принадлежит этот инструмент.
- positionint
-
Позиция инструмента в его группе, если -1, добавляется в конец.
- imagestr
-
Имя файла изображения для кнопки или
None. - descriptionstr
-
Описание инструмента, используется для подсказок.
- togglebool
- remove_toolitem(name)[source]
-
Удалить элемент инструмента из
ToolContainer.Этот метод должен быть реализован для каждого бэкэнда.
Вызывается, когда
ToolManagerизлучаетtool_removed_event.- Параметры:
-
- namestr
-
Имя инструмента для удаления.
- set_message(s)[source]
-
Отобразить сообщение в панели инструментов.
- Параметры:
-
- sstr
-
Текст сообщения.
- toggle_toolitem(name, toggled)[source]
-
Переключить элемент инструмента без срабатывания события.
- Параметры:
-
- namestr
-
Идентификатор инструмента для переключения.
- toggledbool
-
Установить этот инструмент как переключенный или нет.
- trigger_tool(name)[source]
-
Сработать инструмент.
- Параметры:
-
- namestr
-
Имя (идентификатор) инструмента, запущенного внутри контейнера.
- matplotlib.backend_bases.button_press_handler(event, canvas=None, toolbar=None)[source]
-
Действия по умолчанию Matplotlib для дополнительных кнопок мыши.
Параметры такие же, как для
key_press_handler, за исключением того, что event — этоMouseEvent.
- matplotlib.backend_bases.get_registered_canvas_class(format)[source]
-
Возвращает зарегистрированный по умолчанию холст для данного формата файла. Обрабатывает отложенный импорт необходимого бэкэнда.
- matplotlib.backend_bases.key_press_handler(event, canvas=None, toolbar=None)[source]
-
Реализует стандартные привязки клавиш Matplotlib для холста и панели инструментов, описанные в Клавиши для навигации.
- Параметры:
-
-
event
KeyEvent -
Событие нажатия/отпускания клавиши.
-
canvas
FigureCanvasBase, по умолчанию:event.canvas -
Объект холста, специфичный для бэкэнда. Этот параметр сохранён для обратной совместимости, но, если он установлен, он всегда должен быть равен
event.canvas. -
toolbar
NavigationToolbar2, по умолчанию:event.canvas.toolbar -
Панель инструментов навигации курсора. Этот параметр сохранён для обратной совместимости, но, если он установлен, он всегда должен быть равен
event.canvas.toolbar.
-
event
- matplotlib.backend_bases.register_backend(format, backend, description=None)[source]
-
Регистрирует бэкэнд для сохранения в заданном формате файла.
- Параметры:
-
- formatstr
-
Расширение файла
- backendстрока модуля или класс холста
-
Бэкэнд для обработки вывода файла
- descriptionстрока, по умолчанию: ""
-
Описание типа файла.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/backend_bases_api.html