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]
-
Базы:
EventСобытие, срабатывающее при закрытии фигуры.
- classmatplotlib.backend_bases.DrawEvent(name, canvas, renderer)[source]
-
Базы:
EventСобытие, срабатывающее при операции рисования на холсте.
В большинстве бэкэндов обработчики, подключенные к этому событию, будут вызываться после завершения рендеринга, но до обновления экрана. Любые дополнительные объекты, нарисованные на рендерер холста, будут отражены без явного вызова
blit.Предупреждение
Вызов
canvas.drawиcanvas.blitв этих обработчиках может быть небезопасен для всех бэкэндов и может привести к бесконечной рекурсии.Событие DrawEvent имеет ряд специальных атрибутов помимо тех, которые определены родительским классом
Event.- Атрибуты:
-
-
renderer
RendererBase -
Рендерер для события рисования.
-
renderer
- classmatplotlib.backend_bases.Event(name, canvas, guiEvent=None)[source]
-
Базы:
objectСобытие Matplotlib.
Ниже перечислены атрибуты, которые определены и показаны со значениями по умолчанию. Подклассы могут определять дополнительные атрибуты.
- Атрибуты:
-
- namestr
-
Имя события.
-
canvas
FigureCanvasBase -
Экземпляр холста, специфичный для бэкэнда, генерирующего событие.
- guiEvent
-
Событие GUI, которое вызвало событие Matplotlib.
- propertyguiEvent
- классmatplotlib.backend_bases.FigureCanvasBase(figure=None)[source]
-
Базы:
objectПоверхность холста, на которую отрисовывается фигура.
- Атрибуты:
-
-
figure
Figure -
Экземпляр фигуры высокого уровня.
-
figure
- blit(bbox=None)[source]
-
Отрисовка области холста в bbox (по умолчанию весь холст).
- свойствоbutton_pick_id
- свойствоcallbacks
- свойствоdevice_pixel_ratio
-
Соотношение физических и логических пикселей, используемых для холста на экране.
По умолчанию это 1, что означает, что физические и логические пиксели имеют одинаковый размер. Подклассы, которые поддерживают экраны с высокой плотностью пикселей, могут установить это свойство, чтобы указать, что это соотношение отличается. Все взаимодействия Matplotlib, если не работают непосредственно с холстом, остаются в логических пикселях.
- draw(*args, **kwargs)[source]
-
Отрисовка
Figure.Этот метод должен пройти по дереву элементов отрисовки, даже если вывод не создается, потому что он запускает отложенную работу, к которой пользователи могут получить доступ перед сохранением вывода на диск. Например, вычисление пределов, автоматических пределов и значений меток.
- draw_idle(*args, **kwargs)[source]
-
Запрос перерисовки виджета после возвращения управления в цикл событий графического интерфейса.
Даже если несколько вызовов
draw_idleпроизойдут до возвращения управления в цикл событий графического интерфейса, фигура будет отрисована только один раз.Примечания
Модули отображения могут выбрать переопределение метода и реализацию собственной стратегии для предотвращения множественных отрисовок.
- 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': 'Encapsulated Postscript', 'jpeg': 'Joint Photographic Experts Group', 'jpg': 'Joint Photographic Experts Group', 'pdf': 'Portable Document Format', 'pgf': 'PGF code for LaTeX', 'png': 'Portable Network Graphics', 'ps': 'Postscript', 'raw': 'Raw RGBA bitmap', 'rgba': 'Raw RGBA bitmap', '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]
-
Возвращает значение True, если отрисовщик в процессе сохранения в файл, а не отрисовки для буфера на экране.
- 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строка, необязательно
-
Принудительно задать формат файла. Если не указано, формат определяется по расширению имени файла, а если это не удается, из
rcParams["savefig.format"](по умолчанию:'png'). -
bbox_inches'tight' или
Bbox, по умолчанию:rcParams["savefig.bbox"](по умолчанию:None) -
Прямоугольник (BBox) в дюймах: сохраняется только указанная часть рисунка. Если '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]
-
Установить текущий курсор.
Это может иметь нулевой эффект, если бэкенд ничего не отображает.
Если бэкенд требует этого, данный метод должен запускать обновление в цикле событий бэкенда после установки курсора, поскольку этот метод может быть вызван, например, перед длительной задачей, во время которой GUI не обновляется.
- Параметры:
-
-
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 для взаимодействия с окном независимо от бэкенда. Это адаптер для реальной (графической) среды, которая представляет визуальную фигуру на экране.
Менеджер фигур подключен к конкретному экземпляру холста, который, в свою очередь, подключен к конкретному экземпляру фигуры. Для доступа к менеджеру фигур для данной фигуры в пользовательском коде обычно используется
fig.canvas.manager.Бэкенды графических интерфейсов выводят от этого класса для преобразования общих операций, таких как отображение или изменение размера, в код, специфичный для графического интерфейса. Бэкенды, не являющиеся графическими интерфейсами, не поддерживают эти операции и могут просто использовать базовый класс.
Доступны следующие базовые операции:
Операции с окном
Обработка нажатия клавиш и кнопок мыши
Менеджер фигур настраивает обработку нажатия клавиш и кнопок мыши по умолчанию, подключив
key_press_handlerк системе событий matplotlib. Это гарантирует одинаковые сочетания клавиш и действия мыши во всех бэкендах.Другие операции
Подклассы будут иметь дополнительные атрибуты и функции для доступа к дополнительной функциональности. Это, конечно, зависит от бэкенда. Например, большинство бэкендов графических интерфейсов имеют атрибуты
windowиtoolbar, которые предоставляют доступ к собственным виджетам графического интерфейса соответствующей среды.- Атрибуты:
-
-
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%pylab, ни в режимеinteractive.
- resize(w, h)[source]
-
Для бэкендов графических интерфейсов, изменить размер окна (в физических пикселях).
- set_window_title(title)[source]
-
Установить текст заголовка окна, содержащего фигуру.
Это не оказывает никакого эффекта для бэкендов, не являющихся графическими интерфейсами (например, PS).
Примеры
>>> fig = plt.figure() >>> fig.canvas.manager.set_window_title('My figure')
- show()[source]
-
Для бэкендов графических интерфейсов, отобразить окно фигуры и перерисовать. Для бэкендов, не являющихся графическими интерфейсами, выводится исключение, за исключением запуска в режиме 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]
-
Базовые классы:
objectАбстрактный базовый класс, предоставляющий цвет, стили линий и т. д.
- copy_properties(gc)[source]
-
Копирование свойств из gc в self.
- get_alpha()[source]
-
Возвращает значение альфа-канала, используемое для смешивания. Не поддерживается во всех бэкендах.
- get_antialiased()[source]
-
Возвращает значение, определяющее, следует ли использовать антиалиасинг.
- get_capstyle()[source]
-
Возвращает значение
CapStyle.
- get_clip_path()[source]
-
Возвращает область обрезки в виде (путь, преобразование), где путь — объект
Path, а преобразование — аффинное преобразование, применяемое к пути перед обрезкой.
- 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]
-
Возвращает значение настройки привязки:
- 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_listarray-like или 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.- Атрибуты:
-
- keyNone или str
-
Нажатая(ые) клавиша(ы). Может быть None, единственный символ Unicode с учетом регистра ("g", "G", "#", и т.д.), специальная клавиша ("control", "shift", "f1", "up", и т.д.) или комбинация вышеперечисленного (например, "ctrl+alt+g", "ctrl+alt+G").
Примечания
Ключи модификаторов будут добавлены в качестве префиксов к нажатой клавише и будут расположены в порядке "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)
- 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, если указатель мыши не находится над осями.
- modifiersfrozenset
-
Ключи-модификаторы, которые в данный момент нажаты (кроме KeyEvent).
- lastevent=<matplotlib.backend_bases.MouseEvent object>[source]
- classmatplotlib.backend_bases.MouseButton(value, names=<not given>, *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.- Атрибуты:
-
-
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 или
Примеры
def on_press(event): print('you pressed', event.button, event.xdata, event.ydata) cid = fig.canvas.mpl_connect('button_press_event', on_press)
-
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.- Attributes:
-
-
mouseevent
MouseEvent -
Событие мыши, которое сгенерировало выделение.
-
artist
Artist -
Выделенный элемент. Обратите внимание, что элементы по умолчанию не выбираемы (см.
Artist.set_picker). - other
-
Дополнительные атрибуты могут быть присутствовать в зависимости от типа выделенного объекта; например, выделение
Line2Dможет определять разные дополнительные атрибуты, чем выделениеPatchCollection.
-
mouseevent
Примеры
Привяжите функцию
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)
- classmatplotlib.backend_bases.RendererBase[source]
-
Bases:
objectАбстрактный базовый класс для обработки операций рисования/рендеринга.
Следующие методы должны быть реализованы в бэкенде для полной функциональности (хотя просто реализация
draw_pathуже даст высокоэффективный бэкенд):Следующие методы должны быть реализованы в бэкенде по причинам оптимизации:
- close_group(s)[source]
-
Закрыть элемент группировки с меткой s.
Используется только рендерером SVG.
- 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 -
Контекст графики с информацией о обрезке.
- xscalar
-
Расстояние в физических единицах (т.е. точках или пикселях) от левой стороны холста.
- yscalar
-
Расстояние в физических единицах (т.е. точках или пикселях) от нижней стороны холста.
-
im(N, M, 4) array of
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. Бэкенды могут переопределить этот метод для отрисовки маркера только один раз и повторного использования его несколько раз.- Parameters:
-
-
gc
GraphicsContextBase -
Контекст графики.
-
marker_path
Path -
Путь для маркера.
-
marker_trans
Transform -
Аффинное преобразование, применяемое к маркеру.
-
path
Path -
Расположение для отрисовки маркеров.
-
trans
Transform -
Аффинное преобразование, применяемое к пути.
- rgbFaceцвет, optional
-
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]
-
Отобразить сетку квадриков.
Базовая (резервная) реализация преобразует сетку квадриков в пути и затем вызывает
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 or "TeX"
-
Если True, используется парсер mathtext. Если "TeX", используется tex для отображения.
-
mtext
Text -
Исходный объект текста для отрисовки.
-
gc
- 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.
Векторные бэкэнды обычно должны возвращать True (позволяя C-уровневому растеризатору позаботиться о композиции изображений); растровые бэкэнды обычно должны возвращать False.
- 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: Внутренняя функция, которую должен вызывать любой объект таймера, которая будет обрабатывать задачу выполнения всех заданных обратных вызовов.
- Parameters:
-
- intervalint, default: 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=<deprecated parameter>)[source]
-
Запустить объект таймера.
- Parameters:
-
- intervalint, optional
-
Интервал таймера в миллисекундах; переопределяет ранее установленный интервал, если указан.
- 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]
-
Метод для добавления элемента инструмента в контейнер.
Этот метод должен быть реализован в каждом бэкенде и содержит код, специфичный для бэкенда, для добавления элемента в панель инструментов.
Предупреждение
Это часть реализации бэкенда и не должно вызываться конечными пользователями. Вместо этого они должны вызывать
ToolContainerBase.add_tool.Обработчик, связанный с событием нажатия кнопки, должен быть ровно
self.trigger_tool(name).- Параметры:
-
- namestr
-
Имя инструмента для добавления, используется в качестве идентификатора инструмента и в качестве стандартной подписи кнопок.
- groupstr
-
Имя группы, к которой принадлежит этот инструмент.
- positionint
-
Позиция инструмента в группе; если -1, инструмент добавляется в конец.
- imagestr
-
Имя файла изображения для кнопки или
None. - descriptionstr
-
Описание инструмента, используется для всплывающих подсказок.
- togglebool
- remove_toolitem(name)[source]
-
Метод для удаления элемента инструмента из контейнера.
Этот метод должен быть реализован в каждом бэкенде и содержит код, специфичный для бэкенда, для удаления элемента из панели инструментов; вызывается, когда
ToolManagerотправляетtool_removed_event.Поскольку некоторые инструменты присутствуют только в
ToolManager, а не вToolContainer, этот метод должен быть бесполезным, если вызывается для инструмента, отсутствующего в контейнере.Предупреждение
Это часть реализации бэкенда и не должно вызываться конечными пользователями. Вместо этого они должны вызывать
ToolManager.remove_tool.- Параметры:
-
- namestr
-
Имя инструмента для удаления.
- set_message(s)[source]
-
Отобразить сообщение на панели инструментов.
- Параметры:
-
- sstr
-
Текст сообщения.
- toggle_toolitem(name, toggled)[source]
-
Метод для переключения элемента инструмента без запуска события.
Этот метод должен быть реализован в каждом бэкенде и содержит код, специфичный для бэкенда, для бесшумного переключения элемента панели инструментов.
Предупреждение
Это часть реализации бэкенда и не должно вызываться конечными пользователями. Вместо этого они должны вызывать
ToolManager.trigger_toolилиToolContainerBase.trigger_tool(они эквивалентны).- Параметры:
-
- 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строка модуля или класс холста
-
Бэкэнд для обработки вывода файла
- descriptionstr, по умолчанию: ""
-
Описание типа файла.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/backend_bases_api.html