matplotlib.backend_bases
Абстрактные базовые классы определяют примитивы, которые должны реализовывать отрисовщики и графические контексты, чтобы служить бэкендом matplotlib
-
RendererBase - Абстрактный базовый класс для обработки операций рисования/отрисовки.
-
FigureCanvasBase - Уровень абстракции, который отделяет
matplotlib.figure.Figureот специфичных для бэкенда деталей, таких как область рисования пользовательского интерфейса -
GraphicsContextBase - Абстрактный базовый класс, предоставляющий цвета, стили линий и т. д...
-
Event - Базовый класс для всех обработчиков событий matplotlib. Производные классы, такие как
KeyEventиMouseEvent, хранят метаданные, такие как нажатые клавиши и кнопки, координаты x и y в пикселях и координатахAxes. -
ShowBase - Базовый класс для класса Show каждого интерактивного бэкенда; вызываемый «show» затем устанавливается в Show.__call__, унаследованный от ShowBase.
-
ToolContainerBase - Базовый класс для класса панели инструментов каждого интерактивного бэкенда.
-
StatusbarBase - Базовый класс для области сообщений.
-
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 -
отрисовщик для события отрисовки
-
-
class matplotlib.backend_bases.Event(name, canvas, guiEvent=None)[source] -
Bases:
objectСобытие matplotlib. Присоедините дополнительные атрибуты, как определено в
FigureCanvasBase.mpl_connect(). Следующие атрибуты определены и показаны со значениями по умолчаниюАтрибуты: -
name : str -
имя события
-
canvas : FigureCanvasBase -
экземпляр холста бэкенда, генерирующий событие
- guiEvent
-
событие GUI, которое вызвало событие matplotlib
-
-
class matplotlib.backend_bases.FigureCanvasBase(figure)[source] -
Bases:
objectПоверхность холста, на которую отрисовывается фигура.
Публичные атрибуты
Атрибуты: -
figure : matplotlib.figure.Figure -
Экземпляр фигуры высокого уровня
-
blit(bbox=None)[source] -
Отрисовка холста в области bbox (по умолчанию весь холст).
-
Производные классы backends должны вызывать эту функцию при нажатии любой кнопки мыши. x, y — координаты холста: 0, 0 — нижний левый угол. Кнопка и клавиша определены в
MouseEvent.Этот метод вызовет все функции, подключенные к событию 'button_press_event', с экземпляром
MouseEvent.
-
Производные классы backends должны вызывать эту функцию при отпускании любой кнопки мыши.
Этот метод вызовет все функции, подключенные к событию 'button_release_event', с экземпляром
MouseEvent.Параметры: -
x : scalar -
координаты холста, где 0=слева
-
y : scalar -
координаты холста, где 0=снизу
- guiEvent
-
нативное событие пользовательского интерфейса, которое сгенерировало событие mpl
-
-
close_event(guiEvent=None)[source] -
Передаёт событие
CloseEventвсем функциям, подключенным кclose_event.
-
draw(*args, **kwargs)[source] -
Отображает
Figure.
-
draw_cursor(event)[source] -
Отображает курсор в event.axes, если inaxes не равно None. Использует нативное рисование пользовательского интерфейса для повышения эффективности, если это возможно.
-
draw_event(renderer)[source] -
Передаёт событие
DrawEventвсем функциям, подключенным кdraw_event.
-
draw_idle(*args, **kwargs)[source] -
Вызывает
draw()только в режиме ожидания; по умолчанию выполняется рисование, но backends могут переопределить это.
-
enter_notify_event(guiEvent=None, xy=None)[source] -
Производные классы backends должны вызывать эту функцию при входе в холст.
Параметры: - guiEvent
-
нативное событие пользовательского интерфейса, которое сгенерировало событие mpl
-
xy : tuple of 2 scalars -
координаты указателя при входе в холст
-
events = ['resize_event', 'draw_event', 'key_press_event', 'key_release_event', 'button_press_event', 'button_release_event', 'scroll_event', 'motion_notify_event', 'pick_event', 'idle_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] -
Обработка событий графического интерфейса для фигуры.
Интерактивные backends должны переопределить этот метод.
-
get_default_filename()[source] -
Возвращает строку, содержащую расширение, подходящую для использования в качестве имени файла по умолчанию.
-
classmethod get_default_filetype()[source] -
Получение формата файла по умолчанию для сохранения, заданного в rcParam
savefig.format. Возвращаемая строка исключает точку. Переопределяется в backends, поддерживающих только один тип файла.
-
classmethod get_supported_filetypes()[source] -
Возвращает словарь поддерживаемых форматов файлов сохранения для данного backend'а.
-
classmethod get_supported_filetypes_grouped()[source] -
Возвращает словарь поддерживаемых форматов файлов сохранения для данного backend'а, где ключи — имена типов файлов, такие как «Группа экспертов по совместной фотосъёмке», а значения — список расширений имён файлов, используемых для этого типа файла, такие как ['jpg', 'jpeg'].
-
get_width_height()[source] -
Возвращает ширину и высоту фигуры в пунктах или пикселях (в зависимости от backend'а), усечённые до целых чисел.
-
get_window_title()[source] -
Получение текста заголовка окна, содержащего фигуру. Возвращает None, если окно отсутствует (например, в PS backend).
-
grab_mouse(ax)[source] -
Устанавливает дочерний осей, которые в данный момент захватывают события мыши. Обычно вызывается самими виджетами. Вызов этого метода, если мышь уже захвачена другими осями, является ошибкой.
-
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
-
событие пользовательского интерфейса, сгенерировавшее событие mpl
-
motion_notify_event(x, y, guiEvent=None)[source] -
Производные классы бэкенда должны вызывать эту функцию при любом событии изменения положения курсора.
Этот метод будет вызывать все функции, подключённые к событию 'motion_notify_event', с экземпляром
MouseEvent.Параметры: -
x : scalar -
координаты холста, где 0=слева
-
y : scalar -
координаты холста, где 0=внизу
- guiEvent
-
событие пользовательского интерфейса, сгенерировавшее событие mpl
-
-
mpl_connect(s, func)[source] -
Подключить событие со строкой s к func. Сигнатура func:
def func(event)
где event —
matplotlib.backend_bases.Event. Распознаются следующие события- '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'
Для событий местоположения (нажатие и отпускание кнопок мыши, нажатие и отпускание клавиш), если курсор находится над областью, переменная
event.inaxesбудет установлена вAxes, над которой происходит событие, а также будут определены переменныеevent.xdataиevent.ydata. Это положение мыши в координатах данных. См.KeyEventиMouseEventдля получения дополнительной информации.Возвращаемое значение — идентификатор подключения, который можно использовать с
mpl_disconnect().Примеры
Использование:
def on_press(event): print('you pressed', event.button, event.xdata, event.ydata) cid = canvas.mpl_connect('button_press_event', on_press)
-
mpl_disconnect(cid)[source] -
Отключить обратный вызов с идентификатором cid
Примеры
Использование:
cid = canvas.mpl_connect('button_press_event', on_press) #...later canvas.mpl_disconnect(cid)
-
new_timer(*args, **kwargs)[source] -
Создаёт новый подкласс бэкенда
backend_bases.Timer. Это полезно для получения периодических событий через внутренний цикл событий бэкенда. Реализовано только для бэкэндов с графическим интерфейсом.Дополнительные параметры: -
interval : scalar -
Интервал таймера в миллисекундах
-
callbacks : List[Tuple[callable, Tuple, Dict]] -
Последовательность (func, args, kwargs), где
func(*args, **kwargs)будет выполняться таймером каждые interval.обратные вызовы, возвращающие
Falseили0, будут удалены из таймера.
Примеры
>>> timer = fig.canvas.new_timer(callbacks=[(f1, (1, ), {'a': 3}),]) -
-
onRemove(ev)[source] -
Устарело начиная с версии 2.2: Функция onRemove устарела в Matplotlib 2.2 и будет удалена в 3.1.
Обработчик событий мыши, который удаляет верхний объект под курсором. Подключите это к 'mouse_press_event' следующим образом:
canvas.mpl_connect('mouse_press_event',canvas.onRemove)
-
pick(mouseevent)[source]
-
pick_event(mouseevent, artist, **kwargs)[source] -
Этот метод будет вызываться выделенными объектами и вызывать обратные вызовы
PickEvent, зарегистрированными слушателями
-
print_figure(filename, dpi=None, facecolor=None, edgecolor=None, orientation='portrait', format=None, *, bbox_inches=None, **kwargs)[source] -
Вывод рисунка в статическую форму. Установите цвет заливки и обводки области рисунка. Это полезно, так как у некоторых графических интерфейсов фон области рисунка имеет серый цвет, и, вероятно, вы захотите переопределить его при выводе на печать.
Параметры: - filename
-
также может быть объектом файла в бэкендах изображений
-
orientation : {'landscape', 'portrait'}, optional -
в настоящее время применяется только к печати PostScript.
-
dpi : scalar, optional -
точки на дюйм для сохранения рисунка; если None, используется savefig.dpi
-
facecolor : color spec or None, optional -
цвет заливки области рисунка; если None, используется savefig.facecolor
-
edgecolor : color spec or None, optional -
цвет обводки области рисунка; если None, используется savefig.edgecolor
-
format : str, optional -
при установке принудительно устанавливает формат файла для сохранения
-
bbox_inches : str or Bbox, optional -
Bbox в дюймах. Сохраняется только указанная часть рисунка. Если 'tight', пытается определить строгую область рисунка. Если None, используется savefig.bbox
-
pad_inches : scalar, optional -
Отступ вокруг рисунка, когда bbox_inches равно 'tight'. Если None, используется savefig.pad_inches
-
bbox_extra_artists : list of Artist, optional -
Список дополнительных объектов, которые будут учтены при вычислении строгих границ.
-
release_mouse(ax)[source] -
Отпустить захват мыши, удерживаемый областью. Обычно вызывается виджетами. Вызов допустим даже если область не захватила мышь.
-
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.
-
-
set_window_title(title)[source] -
Установите текст заголовка окна, содержащего рисунок. Обратите внимание, что это не оказывает никакого влияния, если окно отсутствует (например, в случае бэкенда PS).
-
start_event_loop(timeout=0)[source] -
Запустить блокирующую цикл обработки событий.
Такой цикл обработки событий используется интерактивными функциями, такими как
ginputиwaitforbuttonpress, для ожидания событий.Цикл обработки событий блокируется до тех пор, пока функция обратного вызова не вызовет
stop_event_loop, или не будет достигнут timeout.Если timeout отрицателен, таймаут никогда не произойдёт.
Только интерактивным бэкендам необходимо переопределять этот метод, и он полагается на то, что
flush_eventsреализован должным образом.Интерактивные бэкенды должны реализовать это более естественным способом.
-
stop_event_loop()[source] -
Остановить текущий блокирующий цикл обработки событий.
Интерактивные бэкенды должны переопределять этот метод, чтобы соответствовать
start_event_loop
-
supports_blit = True
-
switch_backends(FigureCanvasClass)[source] -
Создаёт экземпляр FigureCanvasClass
Используется для переключения бэкэндов, например, для создания FigureCanvasPS из FigureCanvasGTK. Обратите внимание, что глубокое копирование не выполняется, поэтому любые изменения в одном из экземпляров (например, изменение размера фигуры или свойств линий) будут отражены в другом.
-
-
class matplotlib.backend_bases.FigureManagerBase(canvas, num)[source] -
Базовый класс:
objectВспомогательный класс для режима pyplot, объединяет всё в аккуратный набор
Атрибуты: -
canvas : FigureCanvasBase -
Экземпляр канвы, специфичный для бэкенда
-
num : int or str -
Номер фигуры
-
key_press_handler_id : int -
ИД обработчика нажатий клавиш по умолчанию при использовании toolmanager. Может использоваться для отключения обработки нажатий клавиш по умолчанию
figure.canvas.mpl_disconnect( figure.canvas.manager.key_press_handler_id)
-
destroy()[source]
-
full_screen_toggle()[source]
-
get_window_title()[source] -
Получить текст заголовка окна, содержащего рисунок.
Возвращает None для бэкэндов без графического интерфейса (например, PS).
-
key_press(event)[source] -
Реализуйте стандартные сочетания клавиш mpl, определённые в Клавиши навигации
-
resize(w, h)[source] -
«Для бэкэндов с графическим интерфейсом, изменить размер окна (в пикселях).
-
set_window_title(title)[source] -
Установите текст заголовка окна, содержащего рисунок.
Это не оказывает никакого влияния для бэкэндов без графического интерфейса (например, PS).
-
show()[source] -
Для бэкэндов с графическим интерфейсом, отобразить окно фигуры и перерисовать. Для бэкэндов без графического интерфейса, вызовите исключение, которое будет перехвачено
show()для дополнительного предупреждения.
-
show_popup(msg)[source] -
Устарело начиная с версии 2.2: Функция show_popup устарела в Matplotlib 2.2 и будет удалена в 3.1.
Отобразить сообщение в всплывающем окне — только для GUI.
-
-
class matplotlib.backend_bases.GraphicsContextBase[source] -
Bases:
objectАбстрактный базовый класс, предоставляющий цвета, стили линий и т. д...
-
copy_properties(gc)[source] -
Копирование свойств из gc в self
-
get_alpha()[source] -
Возвращает значение альфа-канала, используемое для смешивания. Не поддерживается во всех бэкендах.
-
get_antialiased()[source] -
Возвращает True, если объект должен использовать антиалиасинговое рендеринг.
-
get_capstyle()[source] -
Возвращает стиль окончания линии ('butt', 'round', 'projecting') в виде строки.
-
get_clip_path()[source] -
Возвращает обрезной путь в виде (path, transform), где path — экземпляр
Path, а transform — аффинное преобразование, которое применяется к пути перед обрезкой.
-
get_clip_rectangle()[source] -
Возвращает обрезной прямоугольник в виде экземпляра
Bbox.
-
get_dashes()[source] -
Возвращает информацию о штриховке в виде кортежа.
Список штрихов — это список чётной длины, указывающий на включение и выключение чернил в пикселях.
Для получения более подробной информации см. страницу 107 руководства PostScript BLUEBOOK.
Значение по умолчанию — 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] -
Возвращает стиль соединения линий ('miter', 'round', 'bevel').
-
get_linewidth()[source] -
Возвращает толщину линии в пунктах (вещественное значение).
-
get_rgb()[source] -
Возвращает кортеж из трёх или четырёх чисел с плавающей точкой от 0 до 1.
-
get_sketch_params()[source] -
Возвращает параметры наброска для объекта.
Возвращает: -
sketch_params : tuple or None -
Кортеж из 3 элементов:
-
scale: Амплитуда колебаний, перпендикулярных исходной линии. -
length: Длина колебаний вдоль линии. -
randomness: Коэффициент масштабирования, определяющий степень сжатия или расширения длины.
Может вернуть
None, если параметры наброска не были заданы. -
-
-
get_snap()[source] -
Возвращает значение snap, которое может быть:
- True: вершины сдвигаются к ближайшему центру пикселя.
- False: вершины остаются как есть.
- None: (авто) Если путь содержит только прямолинейные отрезки, вершины округляются до ближайшего центра пикселя.
-
get_url()[source] -
Возвращает URL, если он задан, иначе None.
-
restore()[source] -
Восстановление графического контекста из стека — необходимо только для бэкендов, которые сохраняют графические контексты в стеке.
-
set_alpha(alpha)[source] -
Устанавливает значение альфа-канала, используемое для смешивания. Не поддерживается во всех бэкендах. Если
alpha=None(значение по умолчанию), компоненты альфа цвета переднего плана и заливки будут использованы для установки их прозрачности (по возможности); в противном случае,alphaпереопределит их.
-
set_antialiased(b)[source] -
True, если объект должен быть нарисован с антиалиасинговым рендерингом.
-
set_capstyle(cs)[source] -
Установка стиля окончания линии ('butt', 'round', 'projecting') в виде строки.
-
set_clip_path(path)[source] -
Установка обрезного пути и преобразования. Путь должен быть экземпляром
TransformedPath.
-
-
set_clip_rectangle(rectangle)[source] -
Устанавливает прямоугольник обрезки с последовательностью (левый, нижний, ширина, высота)
-
set_dashes(dash_offset, dash_list)[source] -
Устанавливает стиль штриховки для контекста.
Параметры: -
dash_offset : float -
смещение (обычно 0).
-
dash_list : array_like -
указывает последовательность включения-выключения как точки.
(None, None)определяет сплошную линию
-
-
set_foreground(fg, isRGBA=False)[source] -
Устанавливает цвет переднего плана. fg может быть строкой формата MATLAB, строкой цвета HTML в шестнадцатеричном формате, кортежем rgb или rgba, или числом с плавающей точкой от 0 до 1. В последнем случае используется градация серого.
Если вы знаете, что fg — rgba, установите
isRGBA=Trueдля повышения эффективности.
-
set_gid(id)[source] -
Устанавливает идентификатор.
-
set_hatch(hatch)[source] -
Устанавливает стиль штриховки для заливки
-
set_hatch_color(hatch_color)[source] -
устанавливает цвет, используемый для штриховки.
-
set_joinstyle(js)[source] -
Устанавливает стиль соединения, который может быть одним из ('miter', 'round', 'bevel')
-
set_linewidth(w)[source] -
Устанавливает толщину линии в пунктах
-
set_sketch_params(scale=None, length=None, randomness=None)[source] -
Устанавливает параметры наброска.
Параметры: -
scale : float, optional -
Амплитуда колебания перпендикулярно исходной линии в пикселях. Если scale —
None, или не предоставлена, фильтр наброска не будет предоставлен. -
length : float, optional -
Длина колебания вдоль линии в пикселях (по умолчанию 128)
-
randomness : float, optional -
Коэффициент масштабирования, с помощью которого длина уменьшается или увеличивается (по умолчанию 16)
-
-
set_snap(snap)[source] -
Устанавливает параметр привязки, который может быть:
- True: вершины привязываются к ближайшему центру пикселя
- False: вершины оставляются как есть
- None: (автоматически) Если путь содержит только прямолинейные сегменты, округляется до ближайшего центра пикселя
-
set_url(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)Атрибуты: -
key : None or str -
нажатая(ые) клавиша(ы). Может быть None, одиночная регистрозависимая ASCII-символ ("g", "G", "#", и т.д.), специальная клавиша ("control", "shift", "f1", "up", и т.д.) или комбинация вышеперечисленного (например, "ctrl+alt+g", "ctrl+alt+G").
-
-
class matplotlib.backend_bases.LocationEvent(name, canvas, x, y, guiEvent=None)[source] -
Основывается на
matplotlib.backend_bases.EventСобытие, имеющее экранное расположение.
Следующие дополнительные атрибуты определены и показаны со значениями по умолчанию.
В дополнение к атрибутам
Event, определены следующие атрибуты события:Атрибуты: -
x : scalar -
положение x — пиксели от левой стороны холста
-
y : scalar -
положение y — пиксели от нижней стороны холста
-
inaxes : bool -
экземпляр
Axes, если курсор находится над осями -
xdata : scalar -
координата x курсора в координатах данных
-
ydata : scalar -
координата y курсора в координатах данных
x, y в координатах фигуры, 0,0 = низ, слева
-
lastevent = None
-
-
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)Атрибуты: -
button : {None, 1, 2, 3, 'up', 'down'} -
Нажатая кнопка. Для событий прокрутки используются 'up' и 'down'. Обратите внимание, что в nbagg интерфейсе и средняя, и правая кнопки возвращают 3, так как нажатие правой кнопки вызывает контекстное меню в некоторых браузерах.
-
key : None or str -
Нажатая клавиша во время события мыши, например, 'shift'. См.
KeyEvent. -
step : scalar -
Количество шагов прокрутки (положительное для 'up', отрицательное для 'down').
-
dblclick : bool -
True, если событие является двойным щелчком.
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() - если вы хотите изменить значок указателя
-
_init_toolbar() - создать виджет панели инструментов
-
draw_rubberband() (optional) - отобразить прямоугольник "резиновый" для масштабирования по прямоугольнику
-
press() (optional) - при нажатии кнопки мыши вы получите уведомление об событии
-
release() (optional) - при отпускании кнопки мыши вы получите уведомление об событии
-
set_message() (optional) - отобразить сообщение
-
set_history_buttons() (optional) - вы можете изменить кнопки "назад" / "вперед", чтобы указать состояние "отключено" / "включено".
И это всё, остальное сделаем мы!
-
перемещение назад по стеку пределов просмотра
-
Обработчик для перетаскивания в режиме панорамирования/масштабирования.
-
Обработчик для перетаскивания в режиме масштабирования.
-
Перерисовать холсты, обновить локаторы.
-
Отображение прямоугольника "резинка" для указания пределов масштабирования.
Обратите внимание, что не гарантируется, что
x0 <= x1иy0 <= y1.
-
Перемещение вперед по стеку пределов просмотра.
-
Восстановление исходного вида.
-
Активировать инструмент панорамирования/масштабирования. Панорамирование левой кнопкой, масштабирование правой.
-
Вызывается при нажатии кнопки мыши.
-
Обработчик для нажатия кнопки мыши в режиме панорамирования/масштабирования.
-
Обработчик для нажатия кнопки мыши в режиме масштабирования по прямоугольнику.
-
Поместить текущие пределы просмотра и положение в стек.
-
Обработчик для отпускания кнопки мыши.
-
Обработчик для отпускания кнопки мыши в режиме панорамирования/масштабирования.
-
Обработчик для отпускания кнопки мыши в режиме масштабирования по прямоугольнику.
-
Удалить резиновый прямоугольник.
-
Сохранить текущую фигуру.
-
Установить текущий курсор на одно из значений перечисления
Cursors.Если это необходимо для бэкенда, этот метод должен инициировать обновление в цикле событий бэкенда после установки курсора, поскольку этот метод может вызываться, например, перед выполнением длительной задачи, во время которой интерфейс пользователя не обновляется.
-
Включить или отключить кнопки "назад" / "вперед".
-
Отобразить сообщение на панели инструментов или в строке состояния.
-
Сбросить стек осей.
-
Активировать режим масштабирования по прямоугольнику.
-
-
exception matplotlib.backend_bases.NonGuiException[source] -
Bases:
Exception
-
class matplotlib.backend_bases.PickEvent(name, canvas, mouseevent, artist, guiEvent=None, **kwargs)[source] -
Bases:
matplotlib.backend_bases.Eventсобытие выделения, срабатывает, когда пользователь выбирает местоположение на холсте достаточно близко к элементу.
Атрибуты: все атрибуты
EventплюсПримеры
Использование:
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 -
выделенный элемент
- other
-
дополнительные атрибуты, зависящие от класса — например, выделение
Line2Dможет определять разные дополнительные атрибуты, чем событие выделенияPatchCollection
-
-
class matplotlib.backend_bases.RendererBase[source]
-
Базовые классы:
objectАбстрактный базовый класс для обработки операций рисования/рендеринга.
Следующие методы должны быть реализованы в бэкенде для полной функциональности (хотя реализация только
draw_path()уже даст весьма функциональный бэкенд):Следующие методы должны быть реализованы в бэкенде по причинам оптимизации:
-
close_group(s)[source] -
Закрывает элемент группирования с меткой s. В настоящее время используется только в
backend_svg
-
draw_gouraud_triangle(gc, points, colors, transform)[source] -
Рисует треугольник с заливкой по методу Гуро.
Параметры: -
points : array_like, shape=(3, 2) -
Массив точек (x, y) для треугольника.
-
colors : array_like, shape=(3, 4) -
RGBA цвета для каждой точки треугольника.
-
transform : matplotlib.transforms.Transform -
Аффинное преобразование, применяемое к точкам.
-
-
draw_gouraud_triangles(gc, triangles_array, colors_array, transform)[source] -
Рисует серию треугольников с заливкой по методу Гуро.
Параметры: -
points : array_like, shape=(N, 3, 2) -
Массив из N точек (x, y) для треугольников.
-
colors : array_like, shape=(N, 3, 4) -
Массив из N RGBA цветов для каждой точки треугольников.
-
transform : matplotlib.transforms.Transform -
Аффинное преобразование, применяемое к точкам.
-
-
draw_image(gc, x, y, im, transform=None)[source] -
Рисует RGBA изображение.
Параметры: -
gc : GraphicsContextBase -
Контекст графики с информацией о обрезке.
-
x : scalar -
Расстояние в физических единицах (например, точках или пикселях) от левой стороны холста.
-
y : scalar -
Расстояние в физических единицах (например, точках или пикселях) от нижней стороны холста.
-
im : array_like, shape=(N, M, 4), dtype=np.uint8 -
Массив RGBA пикселей.
-
transform : matplotlib.transforms.Affine2DBase -
Если и только если конкретный бэкенд написан таким образом, что
option_scale_image()возвращаетTrue, аффинное преобразование может быть передано вdraw_image(). Оно принимает вид экземпляраAffine2DBase. Вектор сдвига преобразования задаётся в физических единицах (например, точках или пикселях). Обратите внимание, что преобразование не переопределяетxиyи должно быть применено перед переводом результата наxиy(это можно сделать, добавивxиyк вектору смещения, определённому вtransform).
-
-
draw_markers(gc, marker_path, marker_trans, path, trans, rgbFace=None)[source] -
Рисует маркер в каждой из вершин в пути. Это включает все вершины, включая контрольные точки кривых. Чтобы избежать этого поведения, эти вершины следует удалить перед вызовом этой функции.
Это реализация по умолчанию для draw_markers, которая делает несколько вызовов
draw_path(). Некоторые бэкенды могут переопределить этот метод, чтобы нарисовать маркер только один раз и повторно использовать его несколько раз.Параметры: -
gc : GraphicsContextBase -
Контекст графики
-
marker_trans : matplotlib.transforms.Transform -
Аффинное преобразование, применяемое к маркеру.
-
trans : matplotlib.transforms.Transform -
Аффинное преобразование, применяемое к пути.
-
-
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", в зависимости от пространства, в котором находятся смещения.
Это реализация по умолчанию для
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='TeX!', mtext=None)[source]
-
-
draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None)[source] -
Отобразить текстовый элемент
Параметры: -
gc : GraphicsContextBase -
контекст графики
-
x : scalar -
координата x текста в координатах отображения
-
y : scalar -
координата y базовой линии текста в координатах отображения
-
s : str -
строка текста
-
prop : matplotlib.font_manager.FontProperties -
свойства шрифта
-
angle : scalar -
угол поворота в градусах
-
mtext : matplotlib.text.Text -
исходный объект текста для отображения
Примечания
Примечание для разработчиков бэкенда
При попытке определить, правильно ли рассчитан прямоугольник обводки (что необходимо для правильной работы расположения/выравнивания текста), помогает изменить строку в файле text.py:
if 0: bbox_artist(self, renderer)
на if 1, а затем прямоугольник обводки будет нарисован вместе с текстом.
-
-
flipy()[source] -
Возвращает true, если меньшие значения y соответствуют верхней части для рендерера. Используется только для отрисовки текста (
matplotlib.text) и изображений (matplotlib.image)
-
get_canvas_width_height()[source] -
возвращает ширину и высоту холста в координатах отображения
-
get_image_magnification()[source] -
Получить коэффициент увеличения изображений, переданных в
draw_image(). Позволяет бэкенду иметь изображения с другим разрешением по сравнению с другими элементами.
-
get_texmanager()[source] -
возвращает экземпляр
matplotlib.texmanager.TexManager
-
get_text_width_height_descent(s, prop, ismath)[source] -
Получить ширину, высоту и нисходящую часть (смещение от нижней части до базовой линии) в координатах отображения строки s со свойствами шрифта
FontPropertiesprop
-
new_gc()[source] -
Возвращает экземпляр
GraphicsContextBase
-
open_group(s, gid=None)[source] -
Открывает элемент группировки с меткой s. Если gid задан, использует gid в качестве идентификатора группы. В настоящее время используется только бэкендом
backend_svg.
-
option_image_nocomposite()[source] -
Переопределите этот метод для рендереров, которые не всегда хотят масштабировать и композировать растровые изображения (например, SVG, PDF или PS).
-
option_scale_image()[source] -
Переопределите этот метод для рендереров, которые поддерживают произвольные аффинные преобразования в
draw_image()(большинство векторных бэкендов).
-
points_to_pixels(points)[source] -
Преобразовать точки в единицы отображения
Вам нужно переопределить эту функцию (если ваш бэкенд не имеет dpi, например, postscript или svg). Некоторые системы отображения предполагают определенное значение для пикселей на дюйм:
points to pixels = points * pixels_per_inch/72.0 * dpi/72.0
Параметры: -
points : scalar or array_like -
число с плавающей точкой или массив numpy чисел с плавающей точкой
Возвращает: - Преобразованные точки в пиксели
-
-
start_filter()[source] -
Используется в AggRenderer. Переключается на временный рендерер для эффектов фильтрации изображений.
-
start_rasterizing()[source] -
Используется в MixedModeRenderer. Переключается на растровый рендерер.
-
stop_filter(filter_func)[source] -
Используется в AggRenderer. Возвращается к исходному рендереру. Содержимое временного рендерера обрабатывается с помощью filter_func и отображается на исходном рендерере как изображение.
-
stop_rasterizing()[source] -
Используется в MixedModeRenderer. Возвращается к векторному рендереру и отображает содержимое растрового рендерера как изображение на векторном рендерере.
-
strip_math(s)[source]
-
-
class matplotlib.backend_bases.ResizeEvent(name, canvas)[source] -
Базовый класс:
matplotlib.backend_bases.EventСобытие, срабатывающее при изменении размера холста
В дополнение к атрибутам
Event, определены следующие атрибуты события:Атрибуты: -
width : scalar -
ширина холста в пикселях
-
height : scalar -
высота холста в пикселях
-
-
class matplotlib.backend_bases.ShowBase[source] -
Базовый класс:
matplotlib.backend_bases._BackendПростой базовый класс для генерации вызываемого метода show() в бэкендах.
Подкласс должен переопределить метод mainloop().
-
class matplotlib.backend_bases.StatusbarBase(toolmanager)[source] -
Bases:
objectБазовый класс для панели состояния
-
set_message(s)[source] -
Отображение сообщения в панели инструментов или панели состояния
Параметры: -
s : str -
Текст сообщения
-
-
-
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: Это внутренняя функция, которую должен вызывать любой объект таймера, которая будет обрабатывать задачу выполнения всех зарегистрированных обратных вызовов.
Атрибуты: -
interval : scalar -
Время между событиями таймера в миллисекундах. По умолчанию 1000 мс.
-
single_shot : bool -
Логический флаг, указывающий, должен ли этот таймер работать в режиме однократного запуска (один раз и затем останавливаться). По умолчанию
False. -
callbacks : List[Tuple[callable, Tuple, Dict]] -
Хранит список кортежей (func, args, kwargs), которые будут вызываться при событиях таймера. Этот список можно изменять напрямую, или можно использовать функции
add_callbackиremove_callback.
-
add_callback(func, *args, **kwargs)[source] -
Регистрирует
funcдля вызова таймером при срабатывании события. Любые дополнительные аргументы будут переданы вfunc.
-
interval
-
remove_callback(func, *args, **kwargs)[source] -
Удаляет
funcиз списка обратных вызовов.argsиkwargsявляются необязательными и используются для различения копий одной и той же функции, зарегистрированной для вызова с различными аргументами.
-
single_shot
-
start(interval=None)[source] -
Запускает объект таймера.
intervalявляется необязательным и будет использоваться для сброса интервала таймера, если предоставлен.
-
stop()[source] -
Останавливает таймер.
-
-
class matplotlib.backend_bases.ToolContainerBase(toolmanager)[source] -
Базовый класс для всех контейнеров инструментов, например, панелей инструментов.
Базы:
objectАтрибуты: -
toolmanager : ToolManager -
Инструменты, с которыми данный
ToolContainerхочет взаимодействовать.
-
add_tool(tool, group, position=-1)[source] -
Добавляет инструмент в этот контейнер
Параметры: -
tool : tool_like -
Добавляемый инструмент, см.
ToolManager.get_tool. -
group : str -
Название группы, в которую добавить этот инструмент.
-
position : int (optional) -
Позиция инструмента в группе. По умолчанию - конец.
-
-
add_toolitem(name, group, position, image, description, toggle)[source] -
Добавление элемента инструмента в контейнер
Этот метод должен быть реализован для каждого бэкенда
Обработчик события нажатия на кнопку должен быть ТОЧНО
self.trigger_tool(name)Параметры: -
name : string -
Имя добавляемого инструмента, используемое в качестве идентификатора инструмента и по умолчанию в качестве метки кнопок
-
group : String -
Имя группы, к которой принадлежит этот инструмент
-
position : Int -
Позиция инструмента в группе; если -1, то добавляется в конец
-
image_file : String -
Имя файла изображения для кнопки или
None -
description : String -
Описание инструмента, используемое для всплывающих подсказок
-
toggle : Bool
-
-
remove_toolitem(name)[source] -
Удаляет элемент инструмента из
ToolContainerЭтот метод должен быть реализован для каждого бэкенда
Вызывается, когда
ToolManagerгенерирует событиеtool_removed_eventПараметры: -
name : string -
Имя удаляемого инструмента
-
-
toggle_toolitem(name, toggled)[source] -
Переключение элемента инструмента без срабатывания события
Параметры: -
name : String -
Идентификатор переключаемого инструмента
-
toggled : bool -
Установить ли этот инструмент в состояние переключения.
-
-
trigger_tool(name)[source] -
Вызвать инструмент
Параметры: -
name : String -
Имя (идентификатор) инструмента, вызванного из контейнера
-
-
-
matplotlib.backend_bases.get_registered_canvas_class(format)[source] -
Возвращает зарегистрированный стандартный холст для заданного формата файла. Обрабатывает отложенный импорт необходимого бэкенда.
-
matplotlib.backend_bases.key_press_handler(event, canvas, toolbar=None)[source] -
Реализует стандартные привязки клавиш mpl для холста и панели инструментов, описанные в Клавиши навигации
Параметры: -
event : KeyEvent -
событие нажатия/отпускания клавиши
-
canvas : FigureCanvasBase -
экземпляр холста, специфичный для бэкенда
-
toolbar : NavigationToolbar2 -
панель инструментов курсора навигации
-
-
matplotlib.backend_bases.register_backend(format, backend, description=None)[source] -
Регистрирует бэкенд для сохранения в заданном формате файла.
Параметры: -
format : str -
Расширение файла
-
backend : module string or canvas class -
Бэкенд для обработки вывода файла
-
description : str, optional -
Описание типа файла. По умолчанию — пустая строка
-
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.0.0/api/backend_bases_api.html