matplotlib.backend_bases
Абстрактные базовые классы определяют примитивы, которые должны реализовывать рендереры и графические контексты, чтобы служить бэкендом Matplotlib.
-
RendererBase - Абстрактный базовый класс для обработки операций рисования/рендеринга.
-
FigureCanvasBase - Уровень абстракции, отделяющий
Figureот зависимостей от бэкенда, таких как область рисования пользовательского интерфейса. -
GraphicsContextBase - Абстрактный базовый класс, предоставляющий цвет, стили линий и т. д.
-
Event - Базовый класс для всех обработчиков событий Matplotlib. Производные классы, такие как
KeyEventиMouseEvent, хранят метаданные, такие как нажатые клавиши и кнопки, координаты x и y в пикселях и координатахAxes. -
ShowBase - Базовый класс для класса
Showкаждого интерактивного бэкенда; вызов 'show' затем устанавливается вShow.__call__. -
ToolContainerBase - Базовый класс для класса панели инструментов каждого интерактивного бэкенда.
-
class matplotlib.backend_bases.CloseEvent(name, canvas, guiEvent=None)[source] -
Bases:
matplotlib.backend_bases.EventСобытие, срабатывающее при закрытии фигуры.
-
class matplotlib.backend_bases.DrawEvent(name, canvas, renderer)[source] -
Bases:
matplotlib.backend_bases.EventСобытие, срабатывающее при операции рисования на холсте
В большинстве бэкендов обратные вызовы, подключенные к этому обратному вызову, будут вызываться после завершения рендеринга, но перед обновлением экрана. Любые дополнительные объекты, нарисованные на рендере холста, будут отражены без явного вызова
blit.Предупреждение
Вызов
canvas.drawиcanvas.blitв этих обратных вызовах может быть небезопасен в некоторых бэкендах и может вызвать бесконечную рекурсию.В дополнение к атрибутам
Event, определены следующие атрибуты события:Атрибуты: -
rendererRendererBase -
Рендерер для события рисования.
-
-
class matplotlib.backend_bases.Event(name, canvas, guiEvent=None)[source] -
Bases:
objectСобытие Matplotlib. Прикрепите дополнительные атрибуты, как определено в
FigureCanvasBase.mpl_connect(). Следующие атрибуты определены и показаны со значениями по умолчаниюАтрибуты: -
namestr -
Имя события.
-
canvasFigureCanvasBase -
Инстанция холста бэкенда, генерирующего событие.
- guiEvent
-
Событие графического интерфейса, вызвавшее событие Matplotlib.
-
-
class matplotlib.backend_bases.FigureCanvasBase(figure)[source] -
Bases:
objectПоверхность холста, на которую отрисовывается фигура.
Атрибуты: -
figurematplotlib.figure.Figure -
Экземпляр фигуры высокого уровня.
-
blit(self, bbox=None)[source] -
Отрисовка фрагмента холста в области bbox (по умолчанию весь холст).
-
Обработчик событий нажатия клавиш мыши.
Производные классы backends должны вызывать эту функцию при любом нажатии кнопки мыши. (x, y) — координаты холста ((0, 0) — нижний левый угол). button и key определены в
MouseEvent.Этот метод вызовет все функции, подключенные к событию 'button_press_event', с экземпляром
MouseEvent.
-
Обработчик событий отпускания клавиш мыши.
Производные классы backends должны вызывать эту функцию при любом отпускании кнопки мыши.
Этот метод вызовет все функции, подключенные к событию 'button_release_event', с экземпляром
MouseEvent.Параметры: -
xfloat -
Координаты холста, где 0=слева.
-
yfloat -
Координаты холста, где 0=снизу.
- guiEvent
-
Примитивное событие UI, породившее событие Matplotlib.
-
-
close_event(self, guiEvent=None)[source] -
Передает событие
CloseEventвсем функциям, подключенным кclose_event.
-
draw(self, *args, **kwargs)[source] -
Отрисовка
Figure.
-
draw_cursor(self, event)[source] -
[Устарело] Отрисовка курсора в event.axes, если inaxes не равно None. Применяет нативное рисование GUI для повышения эффективности, если возможно.
Примечания
Устарело начиная с версии 3.2.
-
draw_event(self, renderer)[source] -
Передает событие
DrawEventвсем функциям, подключенным кdraw_event.
-
draw_idle(self, *args, **kwargs)[source] -
Запрашивает перерисовку виджета после возвращения управления к циклу событий GUI.
Даже если несколько вызовов
draw_idleпроизойдут до возвращения управления циклу событий GUI, фигура будет отрисована только один раз.Примечания
Backends могут переопределить метод и реализовать собственную стратегию для предотвращения многократной отрисовки.
-
enter_notify_event(self, guiEvent=None, xy=None)[source] -
Обработчик событий входа курсора мыши на холст.
Производные классы backends должны вызывать эту функцию при входе на холст.
Параметры: - guiEvent
-
Примитивное событие UI, породившее событие Matplotlib.
-
xy(float, float) -
Координаты курсора при входе на холст.
-
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'}
-
fixed_dpi = None
-
flush_events(self)[source] -
Очистка событий GUI для фигуры.
Интерактивные backends должны переопределить этот метод.
-
get_default_filename(self)[source] -
Возвращает строку, включающую расширение, подходящую в качестве имени файла по умолчанию.
-
classmethod get_default_filetype()[source] -
Возвращает формат файла сохранения по умолчанию, как указано в
rcParams["savefig.format"](по умолчанию:'png').Возвращаемая строка не включает точку. Этот метод переопределяется в backends, которые поддерживают только один тип файла.
-
classmethod get_supported_filetypes()[source] -
Возвращает словарь поддерживаемых форматов файлов сохранения для данного backend.
-
classmethod get_supported_filetypes_grouped()[source] -
Возвращает словарь поддерживаемых форматов файлов сохранения для данного backend, где ключи — имена типов файлов (например, 'Группа экспертов по изображению JPEG'), а значения — список расширений файлов для данного типа (например, ['jpg', 'jpeg']).
-
get_width_height(self)[source] -
Возвращает ширину и высоту фигуры в пунктах или пикселях (в зависимости от backend), усеченные до целых чисел.
-
get_window_title(self)[source] -
Возвращает текст заголовка окна, содержащего фигуру, или None, если окна нет (например, для backend PS).
-
grab_mouse(self, ax)[source] -
Устанавливает дочерний
Axes, который получает события мыши.Обычно вызывается самими виджетами. Вызов данного метода при уже захваченных событиях мыши другим axes — ошибка.
-
-
inaxes(self, xy)[source] -
Возвращает самый верхний видимый
Axes, содержащий точку xy.Параметры: -
xy(float, float) -
Позиции пикселей (x, y) слева/снизу от холста.
Возвращает: -
Axes or None -
Самый верхний видимый объект осей, содержащий точку, или None, если осей нет.
-
-
is_saving(self)[source] -
Возвращает, находится ли рендерер в процессе сохранения в файл, а не рендеринга для буфера на экране.
-
key_press_event(self, key, guiEvent=None)[source] -
Передает
KeyEventвсем функциям, подключенным кkey_press_event.
-
key_release_event(self, key, guiEvent=None)[source] -
Передает
KeyEventвсем функциям, подключенным кkey_release_event.
-
leave_notify_event(self, guiEvent=None)[source] -
Обработка вызова для выхода курсора мыши с холста.
Производные классы бэкенда должны вызывать эту функцию при выходе с холста.
Параметры: - guiEvent
-
Встроенное событие пользовательского интерфейса, которое сгенерировало событие Matplotlib.
-
motion_notify_event(self, x, y, guiEvent=None)[source] -
Обработка вызовов для событий движения мыши.
Производные классы бэкенда должны вызывать эту функцию при любом событии движения мыши.
Этот метод вызовет все функции, связанные с 'motion_notify_event' с экземпляром
MouseEvent.Параметры: -
xfloat -
Координаты холста, где 0=слева.
-
yfloat -
Координаты холста, где 0=снизу.
- guiEvent
-
Встроенное событие пользовательского интерфейса, которое сгенерировало событие Matplotlib.
-
-
mpl_connect(self, 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
Для событий местоположения (нажатия и отпускания кнопки, нажатия клавиши), если курсор находится над осями, атрибут
inaxesсобытия будет установлен вAxes, над которым находится курсор, а также атрибутыxdataиydataбудут установлены в координаты местоположения мыши в координатах данных. См.KeyEventиMouseEventдля получения дополнительной информации.
Возвращает: - 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(self, cid)[source] -
Отключает обратный вызов с идентификатором cid.
Примеры
cid = canvas.mpl_connect('button_press_event', on_press) # ... later canvas.mpl_disconnect(cid)
-
new_timer(self, interval=None, callbacks=None)[source] -
Создает новый подкласс, специфичный для бэкенда,
Timer.Это полезно для получения периодических событий через встроенную в бэкенд цикл событий. Реализовано только для бэкэндов с GUI.
Параметры: -
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})]) -
-
pick(self, mouseevent)[source]
-
pick_event(self, mouseevent, artist, **kwargs)[source] -
Обработка вызова для событий выделения.
Этот метод будет вызываться элементами, которые были выделены, и запустит обратные вызовы
PickEvent, зарегистрированными слушателями.
-
-
print_figure(self, 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] -
Выведите рисунок в печатный формат. Установите цвета заливки и обводки области рисунка. Это полезно, так как некоторые графические интерфейсы имеют серый фон заливки области рисунка, и вам, вероятно, нужно будет переопределить это при печати.
Параметры: -
filenamestr or path-like or file-like -
Файл, в который сохраняется рисунок.
-
dpifloat, default: rcParams["savefig.dpi"] (default: 'figure') -
Точки на дюйм для сохранения рисунка.
-
facecolorcolor or 'auto', default: rcParams["savefig.facecolor"] (default: 'auto') -
Цвет заливки области рисунка. Если 'auto', используется текущий цвет заливки области рисунка.
-
edgecolorcolor or 'auto', default: rcParams["savefig.edgecolor"] (default: 'auto') -
Цвет обводки области рисунка. Если 'auto', используется текущий цвет обводки области рисунка.
-
orientation{'landscape', 'portrait'}, default: 'portrait' -
Применима только для печати в формате PostScript.
-
formatstr, optional -
Принудительно задать формат файла. Если не указано, формат определяется по расширению файла filename, а если это не удается, по
rcParams["savefig.format"](по умолчанию:'png'). -
bbox_inches'tight' or Bbox, default: rcParams["savefig.bbox"] (default: None) -
Прямоугольник обрезки в дюймах: сохраняется только указанная часть рисунка. Если 'tight', пытается определить прямоугольник обрезки рисунка, максимально близкий к содержанию рисунка.
-
pad_inchesfloat, default: rcParams["savefig.pad_inches"] (default: 0.1) -
Размер отступа вокруг рисунка, когда bbox_inches равен 'tight'.
-
bbox_extra_artistslist of Artist, optional -
Список дополнительных элементов, которые будут учтены при вычислении прямоугольника обрезки.
-
backendstr, optional -
Использовать нестандартный бэкэнд для отрисовки файла, например, для отрисовки файла png с бэкэндом "cairo" вместо стандартного "agg", или файла pdf с бэкэндом "pgf" вместо стандартного "pdf". Обратите внимание, что стандартный бэкэнд обычно достаточно подходит. См. Встроенные бэкэнды для списка допустимых бэкэндов для каждого формата файла. Пользовательские бэкэнды могут быть указаны как "module://...".
-
-
release_mouse(self, ax)[source] -
Освободить захват мыши, удерживаемый объектом
Axesax.Обычно вызывается виджетами. Это допустимо, даже если ax не имеет текущего захвата мыши.
-
required_interactive_framework = None
-
resize(self, w, h)[source] -
Установить размер холста в пикселях.
-
resize_event(self)[source] -
Передать событие изменения размера
ResizeEventвсем функциям, подключенным кresize_event.
-
scroll_event(self, x, y, step, guiEvent=None)[source] -
Обработка событий прокрутки.
Производные классы бэкэндов должны вызывать эту функцию при любом событии прокрутки колесика мыши. (x, y) — координаты на холсте ((0, 0) — нижний левый угол). button и key определяются так же, как в
MouseEvent.Этот метод вызовет все функции, подключенные к событию 'scroll_event', с экземпляром
MouseEvent.
-
set_window_title(self, title)[source] -
Установить текст заголовка окна, содержащего рисунок. Обратите внимание, что это не имеет эффекта, если окна нет (например, для бэкэнда PS).
-
start_event_loop(self, timeout=0)[source] -
Запустить блокирующую цикл обработки событий.
Такой цикл обработки событий используется интерактивными функциями, такими как
ginputиwaitforbuttonpress, для ожидания событий.Цикл обработки событий блокируется до тех пор, пока функция обратного вызова не вызовет
stop_event_loop, или не будет достигнут timeout.Если timeout равен 0 или отрицателен, таймаут никогда не будет достигнут.
Только интерактивные бэкэнды должны переопределять этот метод, и он зависит от правильной реализации
flush_events.Интерактивные бэкэнды должны реализовать этот метод более нативным способом.
-
stop_event_loop(self)[source] -
Остановить текущий блокирующий цикл обработки событий.
Интерактивные бэкэнды должны переопределить его, чтобы соответствовать
start_event_loop
-
supports_blit = False
-
switch_backends(self, FigureCanvasClass)[source] -
Создает экземпляр FigureCanvasClass
Используется для переключения бэкэндов, например, для создания FigureCanvasPS из FigureCanvasGTK. Обратите внимание, что глубокое копирование не выполняется, поэтому любые изменения в одном из экземпляров (например, установка размера рисунка или свойств линий) будут отражены в другом.
-
-
class matplotlib.backend_bases.FigureManagerBase(canvas, num)[source] -
Bases:
objectАбстракция контейнера и контроллера фигуры, независимая от бэкенда.
Менеджер фигур используется pyplot для взаимодействия с окном независимо от бэкенда. Он является адаптером для реальной (графической) среды, представляющей визуальную фигуру на экране.
Графические бэкэнды определяют методы от этого класса, чтобы преобразовать общие операции, такие как отображение или изменение размера, в код, специфичный для графической среды. Бэкэнды, не являющиеся графическими, не поддерживают эти операции и могут просто использовать базовый класс.
Доступны следующие основные операции:
Операции с окном
Обработка нажатий клавиш и кнопок мыши
Менеджер фигур настраивает обработку нажатий клавиш и кнопок мыши по умолчанию, подключив
key_press_handlerк системе событий matplotlib. Это гарантирует одинаковые сочетания клавиш и действия мыши во всех бэкендах.Другие операции
Подклассы будут иметь дополнительные атрибуты и функции для доступа к дополнительным функциям. Это, конечно, зависит от бэкенда. Например, большинство графических бэкэндов имеют атрибуты
windowиtoolbar, которые обеспечивают доступ к собственным графическим виджетам соответствующей среды.Атрибуты: -
canvasFigureCanvasBase -
Экземпляр канваса, специфичный для бэкенда.
-
numint or 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)
-
Действия Matplotlib по умолчанию для дополнительных кнопок мыши.
-
destroy(self)[source]
-
full_screen_toggle(self)[source]
-
get_window_title(self)[source] -
Возвращает текст заголовка окна, содержащего фигуру, или None, если окно отсутствует (например, бэкенд PS).
-
key_press(self, event)[source] -
Реализует сочетания клавиш Matplotlib по умолчанию, определённые в Сочетания клавиш для навигации.
-
resize(self, w, h)[source] -
Для графических бэкэндов, изменение размера окна (в пикселях).
-
set_window_title(self, title)[source] -
Устанавливает текст заголовка окна, содержащего фигуру.
Это не оказывает никакого эффекта для бэкэндов, не являющихся графическими (например, PS).
-
show(self)[source] -
Для графических бэкэндов, отображение окна фигуры и перерисовка. Для бэкэндов, не являющихся графическими, вызывается исключение, за исключением случаев запуска без графического интерфейса (например, на Linux без установленного DISPLAY); это исключение преобразуется в предупреждение в
Figure.show.
-
property statusbar
-
-
class matplotlib.backend_bases.GraphicsContextBase[source] -
Bases:
objectАбстрактный базовый класс, предоставляющий цвет, стили линий и т. д.
-
copy_properties(self, gc)[source] -
Копирует свойства из gc в self.
-
get_alpha(self)[source] -
Возвращает значение альфа-канала, используемое для смешивания цветов. Не поддерживается во всех бэкендах.
-
get_antialiased(self)[source] -
Возвращает значение, указывающее, должен ли объект выполнять отрисовку с антиалиасингом.
-
get_capstyle(self)[source] -
Возвращает стиль окончания линии в виде строки ('butt', 'round', 'projecting').
-
get_clip_path(self)[source] -
Возвращает путь обрезки в виде (путь, преобразование), где путь — экземпляр
Path, а преобразование — аффинное преобразование, применяемое к пути перед обрезкой.
-
get_clip_rectangle(self)[source] -
Возвращает прямоугольник обрезки в виде экземпляра
Bbox.
-
get_dashes(self)[source] -
Возвращает стиль пунктирной линии как пару (смещение, список штрихов).
Список штрихов — список чётной длины, который задаёт длины отрезков заливки и пропусков в точках. Подробнее см. стр. 107 книги PostScript «Blue Book» по ссылке ссылке.
Значение по умолчанию (None, None).
-
get_forced_alpha(self)[source] -
Возвращает значение, указывающее, должно ли значение, возвращаемое методом get_alpha(), переопределять любые другие значения канала альфа.
-
get_gid(self)[source] -
Возвращает идентификатор объекта, если он задан, иначе None.
-
get_hatch(self)[source] -
Возвращает текущий стиль штриховки.
-
get_hatch_color(self)[source] -
Возвращает цвет штриховки.
-
get_hatch_linewidth(self)[source] -
Возвращает ширину линии штриховки.
-
get_hatch_path(self, density=6.0)[source] -
Возвращает
Pathдля текущей штриховки.
-
get_joinstyle(self)[source] -
Возвращает стиль соединения линий ('miter', 'round', 'bevel').
-
get_linewidth(self)[source] -
Возвращает ширину линии в пунктах.
-
get_rgb(self)[source] -
Возвращает кортеж из трёх или четырёх чисел с плавающей точкой от 0 до 1.
-
get_sketch_params(self)[source] -
Возвращает параметры наброска для объекта.
Возвращает:
-
get_snap(self)[source] -
Возвращает значение snap:
- True: вершины привязываются к центру ближайшего пикселя.
- False: вершины остаются без изменений.
- None: (автоматически) Если путь содержит только прямолинейные отрезки, вершины округляются до центра ближайшего пикселя.
-
get_url(self)[source] -
Возвращает URL, если он задан, иначе None.
-
restore(self)[source] -
Восстанавливает графический контекст из стека. Необходимо только для бэкендов, которые сохраняют графические контексты в стеке.
-
set_alpha(self, alpha)[source] -
Устанавливает значение альфа-канала, используемого для смешивания цветов. Не поддерживается во всех бэкендах.
Если
alpha=None(значение по умолчанию), компоненты альфа переднего и заливочного цветов будут использоваться для установки их прозрачности (при необходимости); в противном случае,alphaпереопределит их.
-
set_antialiased(self, b)[source] -
Устанавливает значение, указывающее, должна ли отрисовка объекта выполняться с антиалиасингом.
-
set_capstyle(self, cs)[source] -
Устанавливает стиль окончания линии ('butt', 'round', 'projecting').
-
-
set_clip_path(self, path)[source] -
Установить область обрезки и преобразование.
Параметры: -
pathTransformedPath or None
-
-
set_clip_rectangle(self, rectangle)[source] -
Установить прямоугольник обрезки с последовательностью (левый, нижний, ширина, высота)
-
set_dashes(self, dash_offset, dash_list)[source] -
Установить стиль штриховки для gc.
Параметры: -
dash_offsetfloat or None -
Смещение (обычно 0).
-
dash_listarray-like or None -
Последовательность включения-выключения как точки.
Примечания
(None, None)задает сплошную линию.См. стр. 107 PostScript blue book для получения дополнительной информации.
-
-
set_foreground(self, fg, isRGBA=False)[source] -
Установить цвет переднего плана.
Параметры: -
fgcolor -
isRGBAbool -
Если известно, что fg является
(r, g, b, a)кортежем, isRGBA можно установить в True для повышения производительности.
-
-
set_gid(self, id)[source] -
Установить идентификатор.
-
set_hatch(self, hatch)[source] -
Установить стиль штриховки (для заливки).
-
set_hatch_color(self, hatch_color)[source] -
Установить цвет штриховки.
-
set_joinstyle(self, js)[source] -
Установить стиль соединения в один из ('miter', 'round', 'bevel').
-
set_linewidth(self, w)[source] -
Установить ширину линии в пунктах.
-
set_sketch_params(self, scale=None, length=None, randomness=None)[source] -
Установить параметры наброска.
Параметры: -
scalefloat, optional -
Амплитуда колебания перпендикулярно исходной линии в пикселях. Если масштаб
None, или не указан, не будет фильтра наброска. -
lengthfloat, default: 128 -
Длина колебания по линии в пикселях.
-
randomnessfloat, default: 16 -
Коэффициент масштабирования, с которым длина сжимается или расширяется.
-
-
set_snap(self, snap)[source] -
Установить настройку привязки, которая может быть:
- True: привязать вершины к ближайшему центру пикселя
- False: оставить вершины как есть
- None: (авто) Если путь содержит только прямолинейные отрезки, округлять до ближайшего центра пикселя
-
set_url(self, url)[source] -
Установить URL для ссылок в совместимых бэкендах.
-
-
class matplotlib.backend_bases.KeyEvent(name, canvas, key, x=0, y=0, guiEvent=None)[source] -
Базы:
matplotlib.backend_bases.LocationEventСобытие нажатия клавиши (нажатие клавиши, отпускание клавиши).
Присоедините дополнительные атрибуты, определённые в
FigureCanvasBase.mpl_connect().В дополнение к атрибутам
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 or str -
нажатая(ые) клавиша(ы). Может быть None, одиночный регистрозависимый символ ASCII ("g", "G", "#", и т.д.), специальная клавиша ("control", "shift", "f1", "up", и т.д.) или комбинация вышеперечисленного (например, "ctrl+alt+g", "ctrl+alt+G").
(x, y) в координатах фигуры ((0, 0) = нижний левый).
-
-
class matplotlib.backend_bases.LocationEvent(name, canvas, x, y, guiEvent=None)[source] -
Базы:
matplotlib.backend_bases.EventСобытие, имеющее экранное расположение.
Следующие дополнительные атрибуты определены и показаны со значениями по умолчанию.
В дополнение к атрибутам
Event, определены следующие атрибуты событий:Атрибуты: -
xint -
Положение x - пиксели от левого края холста.
-
yint -
Положение y - пиксели от нижнего края холста.
-
inaxesAxes or None -
Экземпляр
Axes, над которым находится мышь, если таковой имеется. -
xdatafloat or None -
Координата x данных мыши.
-
ydatafloat or None -
Координата y данных мыши.
(x, y) в координатах фигуры ((0, 0) = нижний левый).
-
lastevent = None
-
-
class matplotlib.backend_bases.MouseButton(value)[source] -
Базы:
enum.IntEnumПеречисление.
-
BACK = 8
-
FORWARD = 9
-
LEFT = 1
-
MIDDLE = 2
-
RIGHT = 3
-
-
class matplotlib.backend_bases.MouseEvent(name, canvas, x, y, button=None, key=None, step=0, dblclick=False, guiEvent=None)[source] -
Bases:
matplotlib.backend_bases.LocationEvent- Событие мыши ('button_press_event',
- 'button_release_event', 'scroll_event', 'motion_notify_event').
В дополнение к атрибутам
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 or MouseButton or {'up', 'down'} -
Нажатая кнопка. Для событий прокрутки используются 'up' и 'down'. Обратите внимание, что в бэкенде nbagg, как средняя, так и правая кнопки мыши возвращают RIGHT, так как нажатие правой кнопки вызывает контекстное меню в некоторых браузерах. Обратите внимание, что LEFT и RIGHT фактически относятся к "первичной" и "вторичной" кнопкам, т.е. если пользователь меняет местами левую и правую кнопки ("леворукое назначение"), то кнопка LEFT будет физически справа.
-
keyNone or str -
Нажатая клавиша во время события мыши, например, 'shift'. См.
KeyEvent.Предупреждение
В настоящее время эта клавиша извлекается из последнего события 'key_press_event' или 'key_release_event', произошедшего внутри холста. Таким образом, если последнее изменение состояния клавиатуры произошло, когда холст не имел фокуса, этот атрибут будет неверным.
-
stepfloat -
Количество шагов прокрутки (положительное для 'up', отрицательное для 'down'). Это применимо только к 'scroll_event' и по умолчанию равно 0 в противном случае.
-
dblclickbool -
Является ли событие двойным щелчком. Это относится только к 'button_press_event' и иначе является False. В частности, он не используется в 'button_release_event'.
(x, y) в координатах фигуры ((0, 0) = нижний левый) нажатая кнопка None, 1, 2, 3, 'up', 'down'
-
Основания:
objectБазовый класс для курсора навигации, версия 2.
Модули должны реализовать холст, который обрабатывает соединения для событий 'button_press_event' и 'button_release_event'. См.
FigureCanvasBase.mpl_connect()для получения дополнительной информации.Они также должны определить
-
save_figure() - сохранить текущую фигуру
-
set_cursor() - если вы хотите изменить значок курсора
-
draw_rubberband() (optional) - нарисовать прямоугольник "резинки" для масштабирования по прямоугольнику
-
set_message() (optional) - отобразить сообщение
-
set_history_buttons() (optional) - можно изменить кнопки истории "назад" / "вперед", чтобы указать состояние "отключено" / "включено".
и переопределить
__init__для настройки панели инструментов — не забывая вызвать инициализацию базового класса. Как правило,__init__необходимо настроить кнопки панели инструментов, связанные с методамиhome,back,forward,pan,zoomиsave_figureи использовать стандартные значки в подкаталоге "images" пути к данным.Вот и всё, остальное мы сделаем!
-
Перемещение назад по стеку пределов просмотра.
Для удобства прямого подключения в качестве обратного вызова графического интерфейса, которому часто передаются дополнительные параметры, этот метод принимает произвольные параметры, но не использует их.
-
Обратный вызов для перетаскивания в режиме панорамирования/масштабирования.
-
Обратный вызов для перетаскивания в режиме масштабирования.
-
[Устаревшее] Перерисовка холстов, обновление локеров.
Примечания
Устарело начиная с версии 3.3.
-
Отрисовка прямоугольника резинки для указания пределов масштабирования.
Обратите внимание, что не гарантируется, что
x0 <= x1иy0 <= y1.
-
Перемещение вперед по стеку пределов просмотра.
Для удобства прямого подключения в качестве обратного вызова графического интерфейса, которому часто передаются дополнительные параметры, этот метод принимает произвольные параметры, но не использует их.
-
Восстановление исходного вида.
Для удобства прямого подключения в качестве обратного вызова графического интерфейса, которому часто передаются дополнительные параметры, этот метод принимает произвольные параметры, но не использует их.
-
Переключение инструмента панорамирования/масштабирования.
Панорамирование левой кнопкой мыши, масштабирование правой.
-
[Устаревшее] Вызывается всякий раз, когда нажимается кнопка мыши.
Примечания
Устарело начиная с версии 3.3.
-
Обратный вызов для нажатия кнопки мыши в режиме панорамирования/масштабирования.
-
Обратный вызов для нажатия кнопки мыши в режиме масштабирования по прямоугольнику.
-
Добавить текущие пределы просмотра и позицию в стек.
-
[Устаревшее] Обратный вызов для отпускания кнопки мыши.
Примечания
Устарело начиная с версии 3.3.
-
Обратный вызов для отпускания кнопки мыши в режиме панорамирования/масштабирования.
-
Обратный вызов для отпускания кнопки мыши в режиме масштабирования по прямоугольнику.
-
Удалить резинку.
-
Сохранить текущую фигуру.
-
Установить текущий курсор на одно из значений перечисления
Cursors.Если это необходимо для модуля, этот метод должен инициировать обновление в цикле событий модуля после установки курсора, так как этот метод может вызываться, например, до выполнения длительной задачи, в течение которой интерфейс пользователя не обновляется.
-
Включить или отключить кнопки "назад" / "вперед".
-
Отображение сообщения на панели инструментов или в строке состояния.
-
-
Сбросить стек осей.
-
Переключить режим масштабирования по прямоугольнику.
-
-
exception matplotlib.backend_bases.NonGuiException[source] -
Основы:
ExceptionВызывается при попытке отобразить рисунок в бекенде без графического интерфейса.
-
class matplotlib.backend_bases.PickEvent(name, canvas, mouseevent, artist, guiEvent=None, **kwargs)[source] -
Основы:
matplotlib.backend_bases.EventСобытие выбора, генерируемое, когда пользователь выбирает область на холсте, достаточно близкую к элементу.
Атрибуты: все атрибуты
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('on pick line:', np.array([xdata[ind], ydata[ind]]).T) cid = fig.canvas.mpl_connect('pick_event', on_pick)Атрибуты: -
mouseeventMouseEvent -
Событие мыши, которое сгенерировало выбор.
-
artistmatplotlib.artist.Artist -
Выбранный элемент.
- other
-
Могут присутствовать дополнительные атрибуты в зависимости от типа выбранного объекта; например, выбор
Line2Dможет определять разные дополнительные атрибуты, чем выборPatchCollection.
-
-
class matplotlib.backend_bases.RendererBase[source] -
Bases:
objectАбстрактный базовый класс для обработки операций рисования/рендеринга.
Следующие методы должны быть реализованы в бэкенде для полной функциональности (хотя реализация только
draw_path()даст весьма функциональный бэкенд):Следующие методы должны быть реализованы в бэкенде по причинам оптимизации:
-
close_group(self, s)[source] -
Закрыть элемент группировки с меткой s.
Используется только рендерером SVG.
-
draw_gouraud_triangle(self, gc, points, colors, transform)[source] -
Отрисовать треугольник с затенением Гуро.
Параметры: -
gcGraphicsContextBase -
Контекст графики.
-
pointsarray-like, shape=(3, 2) -
Массив точек (x, y) для треугольника.
-
colorsarray-like, shape=(3, 4) -
RGBA цвета для каждой точки треугольника.
-
transformmatplotlib.transforms.Transform -
Аффинное преобразование, применяемое к точкам.
-
-
draw_gouraud_triangles(self, gc, triangles_array, colors_array, transform)[source] -
Отрисовать серию треугольников с затенением Гуро.
Параметры: -
pointsarray-like, shape=(N, 3, 2) -
Массив из N точек (x, y) для треугольников.
-
colorsarray-like, shape=(N, 3, 4) -
Массив из N значений RGBA цвета для каждой точки треугольников.
-
transformmatplotlib.transforms.Transform -
Аффинное преобразование, применяемое к точкам.
-
-
draw_image(self, gc, x, y, im, transform=None)[source] -
Отрисовать RGBA изображение.
Параметры: -
gcGraphicsContextBase -
Контекст графики с информацией о обрезке.
-
xscalar -
Расстояние в физических единицах (т. е. точках или пикселях) от левой стороны холста.
-
yscalar -
Расстояние в физических единицах (т. е. точках или пикселях) от нижней стороны холста.
-
imarray-like, shape=(N, M, 4), dtype=np.uint8 -
Массив RGBA пикселей.
-
transformmatplotlib.transforms.Affine2DBase -
Если и только если конкретный бэкенд написан таким образом, что
option_scale_image()возвращаетTrue, может быть передано аффинное преобразование (т. е.,Affine2DBase) может быть передано вdraw_image(). Вектор сдвига преобразования задан в физических единицах (т. е. точках или пикселях). Обратите внимание, что преобразование не перезаписывает x и y и должно быть применено до преобразования результата на x и y (это можно сделать, добавив x и y к вектору сдвига, определённому transform).
-
-
draw_markers(self, gc, marker_path, marker_trans, path, trans, rgbFace=None)[source] -
Отрисовать маркер в каждой из вершин в пути.
Включает все вершины, включая точки управления кривыми. Чтобы избежать этого поведения, эти вершины следует удалить перед вызовом этой функции.
Это обеспечивает реализацию по умолчанию для draw_markers, которая делает несколько вызовов
draw_path(). Некоторые бэкэнды могут захотеть переопределить этот метод, чтобы нарисовать маркер только один раз и повторно использовать его несколько раз.Параметры: -
gcGraphicsContextBase -
Контекст графики.
-
marker_transmatplotlib.transforms.Transform -
Аффинное преобразование, применяемое к маркерам.
-
transmatplotlib.transforms.Transform -
Аффинное преобразование, применяемое к пути.
-
-
draw_path(self, gc, path, transform, rgbFace=None)[source] -
Отрисовать экземпляр
Pathс заданным аффиным преобразованием.
-
draw_path_collection(self, gc, master_transform, paths, all_transforms, offsets, offsetTrans, facecolors, edgecolors, linewidths, linestyles, antialiaseds, urls, offset_position)[source] -
Отрисовать коллекцию путей, выбирая свойства отрисовки из списков facecolors, edgecolors, linewidths, linestyles и antialiaseds. offsets — список смещений, применяемых к каждому пути. Смещения в offsets сначала преобразуются offsetTrans, прежде чем применяться.
offset_position может быть либо "screen", либо "data", в зависимости от пространства, в котором находятся смещения; "data" устарел.
Это обеспечивает реализацию по умолчанию
draw_path_collection(), которая делает несколько вызововdraw_path(). Некоторые бэкэнды могут захотеть переопределить это, чтобы отобразить каждый набор данных пути только один раз, а затем использовать этот путь несколько раз с различными смещениями, цветами, стилями и т. д. Генераторные методы_iter_collection_raw_paths()и_iter_collection()предназначены для помощи (и стандартизации) реализации в разных бэкэндах. Настоятельно рекомендуется использовать эти генераторы, чтобы изменения в поведенииdraw_path_collection()можно было делать глобально.
-
draw_quad_mesh(self, gc, master_transform, meshWidth, meshHeight, coordinates, offsets, offsetTrans, facecolors, antialiased, edgecolors)[source] -
Реализация по умолчанию
draw_quad_mesh(), которая генерирует пути, а затем вызываетdraw_path_collection().
-
draw_tex(self, gc, x, y, s, prop, angle, ismath=<deprecated parameter>, mtext=None)[source]
-
-
draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None)[source] -
Отобразить экземпляр текста.
Параметры: -
gcGraphicsContextBase -
Контекст графики.
-
xfloat -
Положение x текста в координатах отображения.
-
yfloat -
Положение y базовой линии текста в координатах отображения.
-
sstr -
Строка текста.
-
propmatplotlib.font_manager.FontProperties -
Свойства шрифта.
-
anglefloat -
Угол поворота в градусах против часовой стрелки.
-
mtextmatplotlib.text.Text -
Исходный объект текста, который должен быть отрисован.
Примечания
Примечание для разработчиков бэкендов:
При попытке определить, правильно ли вы получили прямоугольник обводки (что обеспечивает правильную работу выравнивания/размещения текста), поможет изменение строки в тексте.py:
if 0: bbox_artist(self, renderer)
на if 1, и тогда фактический прямоугольник обводки будет нарисован вместе с вашим текстом.
-
-
flipy(self)[source] -
Возвращает, увеличиваются ли значения y сверху вниз.
Обратите внимание, что это влияет только на отображение текста и изображений.
-
get_canvas_width_height(self)[source] -
Возвращает ширину и высоту холста в координатах отображения.
-
get_image_magnification(self)[source] -
Получает коэффициент увеличения изображений, переданных в
draw_image(). Позволяет бэкенду иметь изображения с разной разрешающей способностью по сравнению с другими элементами.
-
get_texmanager(self)[source] -
Возвращает экземпляр
TexManager.
-
get_text_width_height_descent(self, s, prop, ismath)[source] -
Получает ширину, высоту и спуск (смещение от нижней границы до базовой линии) в координатах отображения строки s с
FontPropertiesprop.
-
new_gc(self)[source] -
Возвращает экземпляр
GraphicsContextBase.
-
open_group(self, s, gid=None)[source] -
Открывает элемент группировки с меткой s и gid (если задано) в качестве идентификатора.
Используется только модулем SVG.
-
option_image_nocomposite(self)[source] -
Возвращает, нужно ли пропускать композицию изображения Matplotlib.
Бэкенды растровых изображений обычно должны возвращать False (позволяя C-уровневому растризатору обрабатывать композицию изображений); бэкенды векторных изображений обычно должны возвращать
not rcParams["image.composite_image"].
-
option_scale_image(self)[source] -
Возвращает, поддерживаются ли произвольные аффинные преобразования в
draw_image()(True для большинства бэкендов векторных изображений).
-
points_to_pixels(self, points)[source] -
Преобразует точки в единицы отображения.
Вам нужно переопределить эту функцию (если ваш бэкенд не имеет dpi, например, postscript или svg). Некоторые системы обработки изображений предполагают какое-то значение для пикселей на дюйм:
points to pixels = points * pixels_per_inch/72 * dpi/72
Параметры: -
pointsfloat or array-like -
float или массив numpy float
Возвращает: - Точки, преобразованные в пиксели
-
-
start_filter(self)[source] -
Переключается на временный рендерер для эффектов фильтрации изображения.
В настоящее время поддерживается только рендерером agg.
-
start_rasterizing(self)[source] -
Переключается на растровый рендерер.
Используется классом
MixedModeRenderer.
-
stop_filter(self, filter_func)[source] -
Возвращает исходный рендерер. Содержимое временного рендерера обрабатывается с помощью filter_func и рисуется на исходном рендерере в качестве изображения.
В настоящее время поддерживается только рендерером agg.
-
stop_rasterizing(self)[source] -
Возвращает векторный рендерер и рисует содержимое растрового рендерера как изображение на векторном рендерере.
Используется классом
MixedModeRenderer.
-
-
class matplotlib.backend_bases.ResizeEvent(name, canvas)[source] -
Базовый класс:
matplotlib.backend_bases.EventСобытие, вызванное изменением размера холста
В дополнение к атрибутам
Eventопределены следующие атрибуты событий:Атрибуты: -
widthint -
Ширина холста в пикселях.
-
heightint -
Высота холста в пикселях.
-
-
class matplotlib.backend_bases.ShowBase[source] -
Базовый класс:
matplotlib.backend_bases._BackendПростой базовый класс для генерации функции
show()в бэкендах.Подкласс должен переопределить метод
mainloop().
-
class matplotlib.backend_bases.StatusbarBase(**kwargs)[source] -
Базовый класс для области состояния.
[Устаревший] Базовый класс для области состояния.
Примечания
Устарело начиная с версии 3.3.
-
set_message(self, s)[source] -
Отображение сообщения на панели инструментов или в области состояния.
Параметры: -
sstr -
Текст сообщения.
-
-
-
class matplotlib.backend_bases.TimerBase(interval=None, callbacks=None)[source] -
Базовый класс для создания событий таймера, полезных для анимаций. Бэкендам необходимо реализовать несколько специфических методов, чтобы использовать собственные механизмы тайминга, так что события таймера интегрируются в их циклы событий.
Подклассы должны переопределить следующие методы:
-
_timer_start: Код бэкенда для запуска таймера. -
_timer_stop: Код бэкенда для остановки таймера.
Подклассы могут дополнительно переопределить следующие методы:
-
_timer_set_single_shot: Код для установки режима однократного запуска таймера, если это поддерживается объектом таймера. Если нет, сам классTimerбудет хранить флаг, а метод_on_timerдолжен быть переопределён для поддержки такого поведения. -
_timer_set_interval: Код для установки интервала таймера, если есть метод для этого в объекте таймера. -
_on_timer: Внутренняя функция, которую любой объект таймера должен вызывать, которая будет обрабатывать задачу запуска всех установленных обратных вызовов.
Параметры: -
intervalint, default: 1000ms -
Время между событиями таймера в миллисекундах. Будет храниться как
timer.interval. -
callbacksList[Tuple[callable, Tuple, Dict]] -
Список кортежей (func, args, kwargs), которые будут вызываться при событиях таймера. Этот список доступен как
timer.callbacksи может быть изменён напрямую, или могут использоваться функцииadd_callbackиremove_callback.
-
add_callback(self, func, *args, **kwargs)[source] -
Регистрация func для вызова таймером при срабатывании события. Любые дополнительные аргументы будут переданы в func.
Эта функция возвращает func, что позволяет использовать её в качестве декоратора.
-
property interval -
Время между событиями таймера в миллисекундах.
-
remove_callback(self, func, *args, **kwargs)[source] -
Удаление func из списка обратных вызовов.
args и kwargs являются необязательными и используются для различения копий одной и той же функции, зарегистрированных для вызова с разными аргументами. Это поведение устарело. В будущем,
*args, **kwargsбольше не будет рассматриваться; чтобы сохранить возможность удаления конкретного обратного вызова, передайте его вadd_callbackв качестве объектаfunctools.partial.
-
property single_shot -
Указывает, должен ли таймер остановиться после одного запуска.
-
start(self, interval=None)[source] -
Запуск объекта таймера.
Параметры: -
intervalint, optional -
Интервал таймера в миллисекундах; перезаписывает ранее установленный интервал, если указан.
-
-
stop(self)[source] -
Остановка таймера.
-
-
class matplotlib.backend_bases.ToolContainerBase(toolmanager)[source] -
Базовый класс для всех контейнеров инструментов, например, панелей инструментов.
Базы:
objectАтрибуты: -
toolmanagerToolManager -
Инструменты, с которыми данный
ToolContainerхочет взаимодействовать.
-
add_tool(self, tool, group, position=- 1)[source] -
Добавить инструмент в этот контейнер.
Параметры: -
tooltool_like -
Инструмент для добавления, см.
ToolManager.get_tool. -
groupstr -
Имя группы, к которой добавить этот инструмент.
-
positionint, default: -1 -
Позиция внутри группы для размещения этого инструмента.
-
-
add_toolitem(self, name, group, position, image, description, toggle)[source] -
Добавление элемента инструмента в контейнер.
Этот метод должен быть реализован для каждого бэкэнда.
Обработчик события нажатия на кнопку должен быть точно
self.trigger_tool(name).Параметры: -
namestr -
Имя инструмента для добавления, это используется в качестве идентификатора инструмента и по умолчанию для метки кнопок.
-
groupstr -
Имя группы, к которой принадлежит этот инструмент.
-
positionint -
Позиция инструмента внутри его группы, если -1, то он помещается в конец.
-
image_filestr -
Имя файла изображения для кнопки или
None. -
descriptionstr -
Описание инструмента, используемое для подсказок.
-
togglebool
-
-
remove_toolitem(self, name)[source] -
Удалить элемент инструмента из
ToolContainer.Этот метод должен быть реализован для каждого бэкэнда.
Вызывается, когда
ToolManagerгенерируетtool_removed_event.Параметры: -
namestr -
Имя инструмента для удаления.
-
-
set_message(self, s)[source] -
Отображение сообщения на панели инструментов.
Параметры: -
sstr -
Текст сообщения.
-
-
toggle_toolitem(self, name, toggled)[source] -
Переключение элемента инструмента без генерации события.
Параметры: -
namestr -
Идентификатор инструмента для переключения.
-
toggledbool -
Установить ли этот инструмент как переключаемый или нет.
-
-
trigger_tool(self, name)[source] -
Вызвать инструмент.
Параметры: -
namestr -
Имя (идентификатор) инструмента, вызванного внутри контейнера.
-
-
По умолчанию действия 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 для холста и панели инструментов, описанные в Клавиши навигации.
Параметры: -
eventKeyEvent -
Событие нажатия/отпускания клавиши.
-
canvasFigureCanvasBase, default: event.canvas -
Экземпляр холста, специфичный для бэкэнда. Этот параметр сохраняется для обратной совместимости, но, если задан, он всегда должен быть равен
event.canvas. -
toolbarNavigationToolbar2, default: event.canvas.toolbar -
Панель инструментов курсора навигации. Этот параметр сохраняется для обратной совместимости, но, если задан, он всегда должен быть равен
event.canvas.toolbar.
-
-
matplotlib.backend_bases.register_backend(format, backend, description=None)[source] -
Регистрация бэкэнда для сохранения в заданном формате файла.
Параметры: -
formatstr -
Расширение файла
-
backendmodule string or canvas class -
Бэкэнд для обработки вывода файла
-
descriptionstr, default: "" -
Описание типа файла.
-
END_OF_DOCUMENT_MARKER© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.3.3/api/backend_bases_api.html -