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, определены следующие атрибуты события:Атрибуты: -
renderer
RendererBase -
Рендер для события рисования.
-
renderer
- class
matplotlib.backend_bases.Event(name, canvas, guiEvent=None)[source] -
Bases:
objectСобытие Matplotlib. Присоедините дополнительные атрибуты, как определено в
FigureCanvasBase.mpl_connect(). Следующие атрибуты определены и показаны со значениями по умолчаниюАтрибуты: - namestr
-
Имя события.
-
canvas
FigureCanvasBase -
Экземпляр бэкенд-специфического холста, генерирующего событие.
- guiEvent
-
Событие графического интерфейса, которое спровоцировало событие Matplotlib.
- class
matplotlib.backend_bases.FigureCanvasBase(figure=None)[source]
-
Основания:
objectПоверхность холста, на которую отрисовывается фигура.
Атрибуты: -
figure
matplotlib.figure.Figure -
Экземпляр фигуры высокого уровня.
-
blit(bbox=None)[source] -
Отрисовка фрагмента холста в области bbox (по умолчанию весь холст).
-
Обработчик событий нажатия кнопки мыши.
Производные классы бэкенда должны вызывать эту функцию при любом нажатии кнопки мыши. (x, y) — координаты на холсте ((0, 0) — в левом нижнем углу). button и key определены в
MouseEvent.Этот метод вызовет все функции, подключенные к событию 'button_press_event', с экземпляром
MouseEvent.
-
Обработчик событий отпускания кнопки мыши.
Производные классы бэкенда должны вызывать эту функцию при любом отпускании кнопки мыши.
Этот метод вызовет все функции, подключенные к событию 'button_release_event', с экземпляром
MouseEvent.Параметры: - xfloat
-
Координаты на холсте, где 0=слева.
- yfloat
-
Координаты на холсте, где 0=снизу.
- guiEvent
-
Оригинальное событие пользовательского интерфейса, которое сгенерировало событие Matplotlib.
- свойство
callbacks
-
close_event(guiEvent=None)[source] -
Передаёт
CloseEventвсем функциям, подключенным кclose_event.
-
draw(*args, **kwargs)[source] -
Отрисовка
Figure.Важно, чтобы этот метод действительно проходил по дереву элементов отрисовки, даже если вывод не производится, потому что это инициирует отложенную работу (например, вычисление автоматических пределов и значений делений шкалы), к которой пользователи могут получить доступ перед сохранением на диск.
-
draw_event(renderer)[source] -
Передаёт
DrawEventвсем функциям, подключенным кdraw_event.
-
draw_idle(*args, **kwargs)[source] -
Запрос перерисовки виджета, как только управление вернётся в цикл обработки событий графического интерфейса.
Даже если несколько вызовов
draw_idleпроизойдут до того, как управление вернётся в цикл обработки событий графического интерфейса, фигура будет отрисована только один раз.Примечания
Бэкенды могут переопределить метод и реализовать собственную стратегию предотвращения многократной отрисовки.
-
enter_notify_event(guiEvent=None, xy=None)[source] -
Обработчик событий входа курсора мыши в область холста.
Производные классы бэкенда должны вызывать эту функцию при входе курсора в область холста.
Параметры: - guiEvent
-
Оригинальное событие пользовательского интерфейса, которое сгенерировало событие 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()[source] -
Очистка событий GUI для фигуры.
Интерактивные бэкенды должны переопределить этот метод.
-
get_default_filename()[source] -
Возвращает строку, включающую расширение, подходящую для использования в качестве имени файла по умолчанию.
- classmethod
get_default_filetype()[source] -
Возвращает формат сохранения фигуры по умолчанию, указанный в
rcParams["savefig.format"](по умолчанию:'png').Возвращаемая строка не включает точку. Этот метод переопределён в бэкендах, которые поддерживают только один тип файла.
-
figure
- classmethod
get_supported_filetypes()[source] -
Возвращает словарь поддерживаемых форматов сохранения изображений для данного бэкенда.
- classmethod
get_supported_filetypes_grouped()[source] -
Возвращает словарь поддерживаемых форматов сохранения изображений для данного бэкенда, где ключи — названия типов файлов, например, 'Joint Photographic Experts Group', а значения — список расширений файлов для этого типа, например, ['jpg', 'jpeg'].
-
get_width_height()[source] -
Возвращает ширину и высоту фигуры в пунктах или пикселях (в зависимости от бэкенда), округленные до целых чисел.
-
get_window_title()[source] -
[Устарело] Возвращает текст заголовка окна, содержащего фигуру, или None, если окно отсутствует (например, для бэкенда PS).
Примечания
Устарело начиная с версии 3.4.
-
grab_mouse(ax)[source] -
Устанавливает дочерний объект
Axes, который захватывает события мыши.Обычно вызывается самими виджетами. Вызов этой функции при уже захваченной мышью другой осью — ошибка.
-
inaxes(xy)[source] -
Возвращает самую верхнюю видимую ось
Axes, содержащую точку xy.Параметры: - xy(float, float)
-
(x, y) координаты пикселей слева/снизу холста.
Возвращает: -
Axesили None -
Самую верхнюю видимую ось, содержащую точку, или None, если таких осей нет.
-
is_saving()[source] -
Возвращает значение, указывающее, выполняется ли сохранение в файл, или рендеринг для отображения на экране.
-
key_press_event(key, guiEvent=None)[source] -
Передает
KeyEventвсем функциям, подключенным кkey_press_event.
-
key_release_event(key, guiEvent=None)[source] -
Передает
KeyEventвсем функциям, подключенным кkey_release_event.
-
leave_notify_event(guiEvent=None)[source] -
Обработка вызова для выхода курсора мыши за пределы холста.
Производные классы бэкенда должны вызывать эту функцию при выходе за пределы холста.
Параметры: - guiEvent
-
Событие пользовательского интерфейса, которое сгенерировало событие Matplotlib.
-
motion_notify_event(x, y, guiEvent=None)[source] -
Обработка вызовов для перемещения мыши.
Производные классы бэкенда должны вызывать эту функцию при любом событии перемещения мыши.
Этот метод вызовет все функции, подключенные к 'motion_notify_event', с экземпляром
MouseEvent.Параметры: - xfloat
-
Координаты холста, где 0=слева.
- yfloat
-
Координаты холста, где 0=снизу.
- guiEvent
-
Событие пользовательского интерфейса, которое сгенерировало событие Matplotlib.
-
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
Для событий местоположения (нажатия кнопок и клавиш), если курсор находится над осью, атрибут
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)
- classmethod
-
mpl_disconnect(cid)[source] -
Отключить обратный вызов с идентификатором cid.
Примеры
cid = canvas.mpl_connect('button_press_event', on_press) # ... later canvas.mpl_disconnect(cid)
-
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})])
-
pick(mouseevent)[source]
-
pick_event(mouseevent, artist, **kwargs)[source] -
Обработка обратных вызовов для событий выбора.
Этот метод будет вызываться элементами, которые были выбраны, и будет запускать обратные вызовы
PickEventзарегистрированных слушателей.Обратите внимание, что элементы по умолчанию не выбираются (см.
Artist.set_picker).
-
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] -
Вывести рисунок на печать. Установите цвета заливки и обводки фигуры.
Это полезно, потому что некоторые графические интерфейсы имеют серый цвет фона фигуры, и вам, вероятно, нужно будет его переопределить при печати.
Параметры: - filenamestr или путь или файл-подобный объект
-
Файл, в который сохраняется рисунок.
-
dpifloat, по умолчанию:
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) -
Ограничивающая рамка в дюймах: сохраняется только указанная часть фигуры. Если 'tight', попытаться определить ограничивающую рамку фигуры.
-
pad_inchesfloat, по умолчанию:
rcParams["savefig.pad_inches"](по умолчанию:0.1) -
Размер отступа вокруг фигуры, когда bbox_inches равен 'tight'.
-
bbox_extra_artistsсписок
Artist, необязательно -
Список дополнительных элементов, которые будут учтены при вычислении ограничивающей рамки.
- backendстрока, необязательно
-
Использовать бэкенд по умолчанию для отрисовки файла, например, для отрисовки файла png с бэкендом "cairo" вместо стандартного "agg" или файла pdf с бэкендом "pgf" вместо стандартного "pdf". Обратите внимание, что стандартный бэкенд, как правило, достаточен. См. Встроенные бэкенды для списка допустимых бэкендов для каждого формата файла. Пользовательские бэкенды могут быть указаны как "module://...".
-
release_mouse(ax)[source] -
Освободить захват мыши, удерживаемый
Axesax.Обычно вызывается виджетами. Это допустимо даже если ax не имеет текущего захвата мыши.
-
required_interactive_framework= None
-
resize(w, h)[source] -
Установить размер холста в пикселях.
-
resize_event()[source] -
Передать событие
ResizeEventвсем функциям, подключенным кresize_event.
-
scroll_event(x, y, step, guiEvent=None)[source] -
Обработка обратных вызовов для событий прокрутки.
Классы, производные от бэкенда, должны вызывать эту функцию при любом событии прокрутки. (x, y) — координаты холста ((0, 0) — нижний левый угол). button и key определены в
MouseEvent.Этот метод вызовет все функции, подключенные к «scroll_event», с экземпляром
MouseEvent.
- property
scroll_pick_id
-
-
set_window_title(title)[source] -
[Устарело] Устанавливает текст заголовка окна, содержащего рисунок. Обратите внимание, что это не оказывает никакого влияния, если окно отсутствует (например, в PS-бекенде).
Примечания
Устарело начиная с версии 3.4.
-
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. Обратите внимание, что глубокое копирование не выполняется, поэтому любые изменения в одном из экземпляров (например, установка размера рисунка или свойств линии) будут отражены в другом.
-
- класс
matplotlib.backend_bases.FigureManagerBase(canvas, num)[source] -
Базы:
objectАбстракция, независимая от бэкэнда, контейнера и контроллера фигуры.
Менеджер фигур используется pyplot для взаимодействия с окном независимо от бэкэнда. Он является адаптером для реальной (графической) среды, представляющей визуальную фигуру на экране.
Бэкэнды GUI определяются на основе этого класса для перевода общих операций, таких как show или resize, в специфический для GUI код. Бэкэнды без графического интерфейса не поддерживают эти операции и могут просто использовать базовый класс.
Доступны следующие базовые операции:
Операции с окном
Обработка нажатий клавиш и кнопок мыши
Менеджер фигур устанавливает обработку нажатий клавиш и кнопок мыши по умолчанию, подключив
key_press_handlerк системе событий matplotlib. Это обеспечивает одинаковые сочетания клавиш и действия мыши во всех бэкэндах.Другие операции
Подклассы будут иметь дополнительные атрибуты и функции для доступа к дополнительным функциям. Это, конечно, зависит от бэкэнда. Например, большинство бэкэндов GUI имеют атрибуты
windowиtoolbar, которые обеспечивают доступ к нативным виджетам GUI соответствующей среды.Атрибуты: -
canvas
FigureCanvasBase -
Экземпляр канвы, специфичный для бэкэнда.
- numint или str
-
Номер фигуры.
- key_press_handler_idint
-
Идентификатор обработчика клавиш по умолчанию, при использовании toolmanager. Для отключения обработки нажатий клавиш по умолчанию используйте:
figure.canvas.mpl_disconnect( figure.canvas.manager.key_press_handler_id) - button_press_handler_idint
-
Идентификатор обработчика нажатий кнопок мыши по умолчанию, при использовании toolmanager. Для отключения обработки нажатий кнопок мыши по умолчанию используйте:
figure.canvas.mpl_disconnect( figure.canvas.manager.button_press_handler_id)
-
[Устарело] Действия Matplotlib по умолчанию для дополнительных кнопок мыши.
Примечания
Устарело начиная с версии 3.4.
-
destroy()[source]
-
full_screen_toggle()[source]
-
get_window_title()[source] -
Возвращает текст заголовка окна, содержащего фигуру, или None, если окно отсутствует (например, бэкэнд PS).
-
key_press(event)[source] -
[Устарело] Реализует стандартные сочетания клавиш Matplotlib, определенные в Клавиши для навигации.
Примечания
Устарело начиная с версии 3.4.
-
resize(w, h)[source] -
Для бэкэндов GUI переименует окно (в пикселях).
-
set_window_title(title)[source] -
Устанавливает текст заголовка окна, содержащего фигуру.
Это не имеет эффекта для бэкэндов без графического интерфейса (например, PS).
-
show()[source] -
Для бэкэндов GUI отображает окно фигуры и перерисовывает. Для бэкэндов без графического интерфейса генерирует исключение, за исключением случаев запуска без графической оболочки (например, на Linux без установленного DISPLAY); это исключение преобразуется в предупреждение в
Figure.show.
- свойство
statusbar
-
canvas
- class
matplotlib.backend_bases.GraphicsContextBase[source] -
Bases:
objectАбстрактный базовый класс, предоставляющий цвет, стили линий и т. д.
-
copy_properties(gc)[source] -
Копирует свойства из gc в self.
-
get_alpha()[source] -
Возвращает значение альфа-канала для смешивания. Не поддерживается во всех бэкендах.
-
get_antialiased()[source] -
Возвращает значение, определяющее, следует ли выполнять рендеринг с антиалиасингом.
-
get_capstyle()[source] -
Возвращает значение
CapStyle.
-
get_clip_path()[source] -
Возвращает область обрезки в виде (путь, преобразование), где путь — экземпляр
Path, а преобразование — аффинное преобразование, применяемое к пути перед обрезкой.
-
get_clip_rectangle()[source] -
Возвращает прямоугольник обрезки в виде экземпляра
Bbox.
-
get_dashes()[source] -
Возвращает стиль пунктирной линии как пару (смещение, список штрихов).
Список штрихов — список чётной длины, указывающий на длительность черного и белого цвета в пунктах. Подробности см. на стр. 107 руководства PostScript blue book.
Значение по умолчанию (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] -
Возвращает параметры наброска для объекта.
Возвращает:
-
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 или None
-
Смещение (обычно 0).
- dash_listмассив или None
-
Последовательность включения/выключения как точек.
Примечания
(None, None)определяет сплошную линию.См. стр. 107 руководства PostScript для дополнительной информации.
-
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 для ссылок в совместимых бэкендах.
-
- класс
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 или str
-
нажатая клавиша(и). Может быть None, одиночный регистрозависимый символ ASCII ("g", "G", "#", и т. д.), специальная клавиша ("control", "shift", "f1", "вверх" и т. д.) или комбинация вышеперечисленного (например, "ctrl+alt+g", "ctrl+alt+G").
(x, y) в координатах фигуры ((0, 0) = нижний левый).
- класс
matplotlib.backend_bases.LocationEvent(name, canvas, x, y, guiEvent=None)[source] -
Базы:
matplotlib.backend_bases.EventСобытие, имеющее экранное положение.
Следующие дополнительные атрибуты определены и показаны со значениями по умолчанию.
В дополнение к атрибутам
Eventопределены следующие атрибуты события:Атрибуты: (x, y) в координатах фигуры ((0, 0) = нижний левый).
-
lastevent= None
-
- класс
matplotlib.backend_bases.MouseButton(value)[source] -
Базы:
enum.IntEnumПеречисление.
-
BACK= 8
-
FORWARD= 9
-
LEFT= 1
-
MIDDLE= 2
-
RIGHT= 3
-
- класс
matplotlib.backend_bases.MouseEvent(name, canvas, x, y, button=None, key=None, step=0, dblclick=False, guiEvent=None)[source] -
Базы:
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 или
MouseButtonили {'up', 'down'} -
Нажатая кнопка. 'up' и 'down' используются для событий прокрутки. Обратите внимание, что LEFT и RIGHT фактически относятся к кнопкам «первичная» и «вторичная», т. е. если пользователь инвертирует свои левую и правую кнопки («леворукое расположение»), то кнопка LEFT будет той, которая физически находится справа.
- keyNone или 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'
-
Bases:
objectБазовый класс для курсора навигации, версия 2.
Бэкэнды должны реализовывать холст, который обрабатывает подключения для 'button_press_event' и 'button_release_event'. Смотрите
FigureCanvasBase.mpl_connect()для получения дополнительной информации.Они также должны определить
save_figure()- сохранить текущую фигуру
set_cursor()- если вы хотите, чтобы значок указателя изменился
-
draw_rubberband()(необязательно) - рисовать прямоугольник "резинка" для масштабирования по прямоугольнику
-
set_message()(необязательно) - отобразить сообщение
-
set_history_buttons()(необязательно) - вы можете изменить кнопки истории "назад" / "вперед", чтобы указать состояние "отключено" / "включено".
и переопределить
__init__для настройки панели инструментов — не забыв вызвать метод базового класса init. Как правило,__init__необходимо настроить кнопки панели инструментов, связанные с методамиhome,back,forward,pan,zoomиsave_figureи использовать стандартные значки в подкаталоге "images" пути к данным.Это все, мы сделаем остальное!
-
Перемещение назад по стеку пределов просмотра.
Для удобства прямого подключения в качестве обратного вызова GUI, которому часто передаются дополнительные параметры, этот метод принимает произвольные параметры, но не использует их.
-
Обратный вызов для перетаскивания в режиме панорамирования/масштабирования.
-
Обратный вызов для перетаскивания в режиме масштабирования.
-
[Устарело] Перерисовать холсты, обновить локаторы.
Примечания
Устарело начиная с версии 3.3.
-
Рисование прямоугольника резинки для обозначения пределов масштабирования.
Обратите внимание, что нет гарантии, что
x0 <= x1иy0 <= y1.
-
Перемещение вперед по стеку пределов просмотра.
Для удобства прямого подключения в качестве обратного вызова GUI, которому часто передаются дополнительные параметры, этот метод принимает произвольные параметры, но не использует их.
-
Восстановление исходного вида.
Для удобства прямого подключения в качестве обратного вызова GUI, которому часто передаются дополнительные параметры, этот метод принимает произвольные параметры, но не использует их.
-
Переключение инструмента панорамирования/масштабирования.
Панорамирование левой кнопкой, масштабирование правой.
-
[Устарело] Вызывается всякий раз, когда нажимается кнопка мыши.
Примечания
Устарело начиная с версии 3.3.
-
Обратный вызов при нажатии кнопки мыши в режиме панорамирования/масштабирования.
-
Обратный вызов при нажатии кнопки мыши в режиме масштабирования по прямоугольнику.
-
Добавление текущих пределов просмотра и позиции в стек.
-
[Устарело] Обратный вызов при отпускании кнопки мыши.
Примечания
Устарело начиная с версии 3.3.
-
Обработчик отпускания кнопки мыши в режиме перемещения/масштабирования.
-
Обработчик отпускания кнопки мыши в режиме масштабирования прямоугольником.
-
Удалить резиновую рамку.
-
Сохранить текущий рисунок.
-
Установить текущий курсор на одно из значений в перечислении
Cursors.Если это требуется в бэкенде, этот метод должен инициировать обновление в цикле событий бэкенда после установки курсора, так как этот метод может вызываться, например, перед длительной задачей, во время которой пользовательский интерфейс не обновляется.
-
Включить или отключить кнопки "Назад" и "Вперёд".
-
Отобразить сообщение на панели инструментов или в строке состояния.
-
Сбросить стек осей.
-
Переключить режим масштабирования до прямоугольника.
-
- исключение
matplotlib.backend_bases.NonGuiException[source] -
Базы:
ExceptionВозникает при попытке отобразить рисунок в бэкенде без графического интерфейса.
- класс
matplotlib.backend_bases.PickEvent(name, canvas, mouseevent, artist, guiEvent=None, **kwargs)[source] -
Базы:
matplotlib.backend_bases.EventСобытие выбора, генерируется, когда пользователь выбирает местоположение на холсте, достаточно близкое к элементу, который был сделан выбираемым с помощью
Artist.set_picker.Атрибуты: все атрибуты
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)Атрибуты: -
mouseevent
MouseEvent -
Событие мыши, которое сгенерировало выбор.
-
artist
matplotlib.artist.Artist -
Выбранный элемент. Обратите внимание, что элементы по умолчанию не выбираемы (см.
Artist.set_picker). - другие
-
Дополнительные атрибуты могут присутствовать в зависимости от типа выбранного объекта; например, выбор
Line2Dможет определять разные дополнительные атрибуты, чем выборPatchCollection.
-
mouseevent
- класс
matplotlib.backend_bases.RendererBase[source]
-
Bases:
objectАбстрактный базовый класс для обработки операций рисования/рендеринга.
Следующие методы должны быть реализованы в бэкенде для полной функциональности (хотя реализация только
draw_path()даст высокопроизводительный бэкенд):Следующие методы должны быть реализованы в бэкенде по причинам оптимизации:
-
close_group(s)[source] -
Закрыть элемент группировки с меткой s.
Используется только рендерером SVG.
-
draw_gouraud_triangle(gc, points, colors, transform)[source] -
Отрисовать треугольник с заливкой Гуро.
Параметры: -
gc
GraphicsContextBase -
Контекст графики.
- points(3, 2) массив-подобный объект
-
Массив точек (x, y) для треугольника.
- colors(3, 4) массив-подобный объект
-
RGBA цвета для каждой точки треугольника.
-
transform
matplotlib.transforms.Transform -
Аффинное преобразование, применяемое к точкам.
-
gc
-
draw_gouraud_triangles(gc, triangles_array, colors_array, transform)[source] -
Отрисовать серию треугольников с заливкой Гуро.
Параметры: - points(N, 3, 2) массив-подобный объект
-
Массив из N точек (x, y) для треугольников.
- colors(N, 3, 4) массив-подобный объект
-
Массив из N значений RGBA цвета для каждой точки треугольников.
-
transform
matplotlib.transforms.Transform -
Аффинное преобразование, применяемое к точкам.
-
draw_image(gc, x, y, im, transform=None)[source] -
Отрисовать RGBA изображение.
Параметры: -
gc
GraphicsContextBase -
Контекст графики с информацией о обрезке.
- xскаляр
-
Расстояние в физических единицах (т.е. точках или пикселях) от левой стороны холста.
- yскаляр
-
Расстояние в физических единицах (т.е. точках или пикселях) от нижней стороны холста.
- im(N, M, 4) массив-подобный объект np.uint8
-
Массив RGBA пикселей.
-
transform
matplotlib.transforms.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_markers по умолчанию, которая выполняет несколько вызовов
draw_path(). Некоторые бэкэнды могут захотеть переопределить этот метод, чтобы нарисовать маркер только один раз и повторно использовать его несколько раз.Параметры: -
gc
GraphicsContextBase -
Контекст графики.
-
marker_trans
matplotlib.transforms.Transform -
Аффинное преобразование, применяемое к маркеру.
-
trans
matplotlib.transforms.Transform -
Аффинное преобразование, применяемое к пути.
-
gc
-
draw_path(gc, path, transform, rgbFace=None)[source] -
Отрисовать экземпляр
Pathс заданным аффинным преобразованием.
-
-
draw_path_collection(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(gc, master_transform, meshWidth, meshHeight, coordinates, offsets, offsetTrans, facecolors, antialiased, edgecolors)[source] -
Реализация по умолчанию для
draw_quad_mesh(), которая генерирует пути, а затем вызываетdraw_path_collection().
-
draw_tex(gc, x, y, s, prop, angle, ismath=<deprecated parameter>, mtext=None)[source]
-
draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None)[source] -
Отрисовка текстового элемента.
Параметры: -
gc
GraphicsContextBase -
Контекст графики.
- xfloat
-
Положение x текста в координатах отображения.
- yfloat
-
Положение y базовой линии текста в координатах отображения.
- sstr
-
Строка текста.
-
prop
matplotlib.font_manager.FontProperties -
Свойства шрифта.
- anglefloat
-
Угол поворота в градусах против часовой стрелки.
-
mtext
matplotlib.text.Text -
Исходный объект текста для отрисовки.
Примечания
Примечание для разработчиков бэкэндов:
Когда вы пытаетесь определить, правильно ли вы получили рамку (что позволяет правильно работать расположению/выравниванию текста), полезно изменить строку в файле text.py:
if 0: bbox_artist(self, renderer)
на if 1, и тогда вместе с вашим текстом будет нарисована и сама рамка.
-
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.
-
new_gc()[source] -
Возвращает экземпляр
GraphicsContextBase.
-
open_group(s, gid=None)[source] -
Открывает элемент группирования с меткой s и gid (если установлено) в качестве идентификатора.
Используется только модулем SVG.
-
-
option_image_nocomposite()[source] -
Возвращает, следует ли пропускать композицию изображений Matplotlib.
Векторные бэкэнды обычно должны возвращать
not rcParams["image.composite_image"]; растровые бэкэнды — обычно False (позволяя C-уровневому растризатору позаботиться о композиции изображений).
-
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 или массив-подобный объект
-
число с плавающей точкой или массив NumPy с числами с плавающей точкой
Возвращает: - Точки, преобразованные в пиксели
-
start_filter()[source] -
Переключение на временный рендерер для эффектов фильтрации изображений.
В настоящее время поддерживается только рендерером agg.
-
start_rasterizing()[source] -
Переключение на растровый рендерер.
Используется классом
MixedModeRenderer.
-
stop_filter(filter_func)[source] -
Возвращение к исходному рендереру. Содержимое временного рендерера обрабатывается с помощью filter_func и рисуется на исходном рендерере как изображение.
В настоящее время поддерживается только рендерером agg.
-
stop_rasterizing()[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(toolmanager)[source] -
Базовый класс:
object[Устаревший] Базовый класс для строчной области состояния.
Примечания
Устарел начиная с версии 3.3.
-
set_message(s)[source] -
Отображение сообщения в панели инструментов или в строке состояния.
Параметры: - sstr
-
Текст сообщения.
-
- class
matplotlib.backend_bases.TimerBase(interval=None, callbacks=None)[source] -
Bases:
objectБазовый класс для предоставления таймерных событий, полезный для анимаций. Бэкендам необходимо реализовать несколько специфических методов для использования собственных механизмов тайминга таким образом, чтобы таймерные события были интегрированы в их циклы событий.
Подклассы должны переопределить следующие методы:
-
_timer_start: Специфичный для бэкенда код для запуска таймера. -
_timer_stop: Специфичный для бэкенда код для остановки таймера.
Подклассы могут дополнительно переопределить следующие методы:
-
_timer_set_single_shot: Код для установки таймера в режим однократного запуска, если это поддерживается объектом таймера. В противном случае, сам классTimerбудет хранить флаг, и метод_on_timerдолжен быть переопределён для поддержки такого поведения. -
_timer_set_interval: Код для установки интервала таймера, если существует метод для этого в объекте таймера. -
_on_timer: Внутренняя функция, которую любой объект таймера должен вызывать, которая будет обрабатывать задачу выполнения всех установленных обратных вызовов.
Параметры: - intervalint, по умолчанию: 1000мс
-
Время между таймерными событиями в миллисекундах. Будет храниться как
timer.interval. - callbackslist[tuple[callable, tuple, dict]]
-
Список кортежей (func, args, kwargs), которые будут вызываться при таймерных событиях. Этот список доступен как
timer.callbacksи может быть изменён напрямую, или могут быть использованы функцииadd_callbackиremove_callback.
-
add_callback(func, *args, **kwargs)[source] -
Регистрирует func для вызова таймером при срабатывании события. Любые дополнительные аргументы будут переданы func.
Эта функция возвращает func, что позволяет использовать её в качестве декоратора.
- свойство
interval -
Время между таймерными событиями в миллисекундах.
-
remove_callback(func, *args, **kwargs)[source] -
Удаляет func из списка обратных вызовов.
args и kwargs являются необязательными и используются для различения копий одной и той же функции, зарегистрированной для вызова с разными аргументами. Это поведение устарело. В будущем
*args, **kwargsбольше не будет рассматриваться; чтобы сохранить возможность удаления конкретного обратного вызова самостоятельно, передайте его вadd_callbackкак объектfunctools.partial.
- свойство
single_shot -
Определяет, должен ли этот таймер останавливаться после одного запуска.
-
start(interval=None)[source] -
Запустить объект таймера.
Параметры: - intervalint, необязательно
-
Интервал таймера в миллисекундах; переопределяет ранее установленный интервал, если указан.
-
stop()[source] -
Остановить таймер.
-
- class
matplotlib.backend_bases.ToolContainerBase(toolmanager)[source] -
Bases:
objectБазовый класс для всех контейнеров инструментов, например, панелей инструментов.
Атрибуты: -
toolmanager
ToolManager -
Инструменты, с которыми данный
ToolContainerхочет взаимодействовать.
-
add_tool(tool, group, position=- 1)[source] -
Добавить инструмент в этот контейнер.
Параметры: - tooltool_like
-
Инструмент для добавления, см.
ToolManager.get_tool. - groupstr
-
Имя группы, в которую нужно добавить этот инструмент.
- positionint, по умолчанию: -1
-
Положение внутри группы для размещения этого инструмента.
-
add_toolitem(name, group, position, image, description, toggle)[source] -
Добавить элемент инструмента в контейнер.
Этот метод должен быть реализован для каждого бэкэнда.
Обработчик, связанный с событием нажатия кнопки, должен быть точно
self.trigger_tool(name).Параметры: - namestr
-
Имя инструмента для добавления, используется в качестве идентификатора инструмента и по умолчанию как метка кнопок.
- groupstr
-
Имя группы, к которой принадлежит этот инструмент.
- positionint
-
Позиция инструмента внутри группы. Если -1, то он помещается в конец.
- imagestr
-
Имя файла изображения для кнопки или
None. - descriptionstr
-
Описание инструмента, используется для подсказок.
- togglebool
-
remove_toolitem(name)[source] -
Удалить элемент инструмента из
ToolContainer.Этот метод должен быть реализован для каждого бэкэнда.
Вызывается, когда
ToolManagerгенерируетtool_removed_event.Параметры: - namestr
-
Имя инструмента для удаления.
-
set_message(s)[source] -
Отобразить сообщение на панели инструментов.
Параметры: - sstr
-
Текст сообщения.
-
toggle_toolitem(name, toggled)[source] -
Переключить элемент инструмента без генерации события.
Параметры: - namestr
-
Идентификатор инструмента для переключения.
- toggledbool
-
Установить инструмент в переключенное состояние или нет.
-
trigger_tool(name)[source] -
Вызвать инструмент.
Параметры: - namestr
-
Имя (идентификатор) инструмента, вызванного внутри контейнера.
-
Стандартные действия Matplotlib для дополнительных кнопок мыши.
Параметры такие же, как для
key_press_handler, за исключением того, что event — этоMouseEvent.
-
matplotlib.backend_bases.get_registered_canvas_class(format)[source] -
Возвращает зарегистрированный дефолтный холст для данного формата файла. Обрабатывает отложенный импорт необходимого бэкэнда.
-
toolmanager
-
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–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/backend_bases_api.html