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
-
событие графического интерфейса, которое вызвало событие matplotlib
-
-
class matplotlib.backend_bases.FigureCanvasBase(figure)[source]
-
Базы:
objectПоверхность холста, на которую отрисовывается фигура.
Публичные атрибуты
Атрибуты: -
figure : matplotlib.figure.Figure -
Экземпляр фигуры высокого уровня
-
blit(self, bbox=None)[source] -
Отрисовка холста в области bbox (по умолчанию — весь холст).
-
Производные классы бэкенда должны вызывать эту функцию при нажатии любой кнопки мыши. x, y — координаты холста: 0,0 — внизу слева. button и key определены в
MouseEvent.Этот метод будет вызывать все функции, связанные с событием 'button_press_event', с экземпляром
MouseEvent.
-
Производные классы бэкенда должны вызывать эту функцию при отпускании любой кнопки мыши.
Этот метод будет вызывать все функции, связанные с событием 'button_release_event', с экземпляром
MouseEvent.Параметры: -
x : scalar -
координаты холста, где 0=слева
-
y : scalar -
координаты холста, где 0=снизу
- guiEvent
-
событие пользовательского интерфейса, сгенерировавшее событие mpl
-
-
close_event(self, guiEvent=None)[source] -
Передает
CloseEventвсем функциям, связанным сclose_event.
-
draw(self, *args, **kwargs)[source] -
Отрисовка
Figure.
-
draw_cursor(self, event)[source] -
Отрисовка курсора в event.axes, если inaxes не равно None. Использование собственной отрисовки пользовательского интерфейса для повышения эффективности, если это возможно
-
draw_event(self, renderer)[source] -
Передает
DrawEventвсем функциям, связанным сdraw_event.
-
draw_idle(self, *args, **kwargs)[source] -
Запрос перерисовки виджета, как только управление вернется к циклу событий пользовательского интерфейса.
Даже если несколько вызовов
draw_idleпроизойдут до возвращения управления циклу событий пользовательского интерфейса, фигура будет отображена только один раз.Примечания
Бэкэнды могут переопределить метод и реализовать собственную стратегию, чтобы предотвратить несколько рендерингов.
-
enter_notify_event(self, guiEvent=None, xy=None)[source] -
Производные классы бэкенда должны вызывать эту функцию при входе в холст
Параметры: - guiEvent
-
событие пользовательского интерфейса, сгенерировавшее событие mpl
-
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', '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(self)[source] -
Очистка событий пользовательского интерфейса для фигуры.
Интерактивным бэкендам нужно переопределить этот метод.
-
get_default_filename(self)[source] -
Возвращает строку, включающую расширение, подходящую для использования в качестве имени файла по умолчанию.
-
classmethod get_default_filetype()[source] -
Получение формата сохранения файла по умолчанию, указанного в rcParam
savefig.format. Возвращаемая строка не включает точку. Переопределяется в бэкендах, поддерживающих только один тип файла.
-
classmethod get_supported_filetypes()[source] -
Возвращает словарь форматов сохранения файла, поддерживаемых этим бэкендом.
-
classmethod get_supported_filetypes_grouped()[source] -
Возвращает словарь форматов сохранения файла, поддерживаемых этим бэкендом, где ключи — имя типа файла, например, «Группа экспертов по совместной фотографии», а значения — список расширений имен файлов, используемых для этого типа файла, например, ['jpg', 'jpeg'].
-
get_width_height(self)[source] -
Возвращает ширину и высоту фигуры в пунктах или пикселях (в зависимости от бэкенда), усеченные до целых чисел.
-
get_window_title(self)[source] -
Получение текста заголовка окна, содержащего фигуру. Возвращает None, если нет окна (например, бэкенд PS).
-
grab_mouse(self, ax)[source] -
Устанавливает дочерние оси, которые в настоящее время захватывают события мыши. Обычно вызывается самими виджетами. Вызов этого метода, если мышь уже захвачена другой осью, является ошибкой.
-
inaxes(self, xy)[source] -
Проверка, находится ли точка на оси.
Параметры: -
xy : tuple or list -
(x, y) координаты. Положение x — пиксели от левой стороны холста. Положение y — пиксели от нижней стороны холста.
Возвращает: - axes: самая верхняя ось, содержащая точку, или 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
-
событие родной UI-среды, которое сгенерировало событие mpl
-
motion_notify_event(self, x, y, guiEvent=None)[source] -
Производные классы бэкенда должны вызывать эту функцию при любом событии motion-notify.
Этот метод вызовет все функции, подключенные к 'motion_notify_event', с экземпляром
MouseEvent.Параметры: -
x : scalar -
координаты холста, где 0=слева
-
y : scalar -
координаты холста, где 0=внизу
- guiEvent
-
событие родной UI-среды, которое сгенерировало событие mpl
-
-
mpl_connect(self, 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(self, cid)[source] -
Отключить обработчик с идентификатором cid
Примеры
Использование:
cid = canvas.mpl_connect('button_press_event', on_press) #...later canvas.mpl_disconnect(cid)
-
new_timer(self, *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}),]) -
-
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, **kwargs)[source] -
Отобразить фигуру в печатном виде. Установить цвет заливки и контура фигуры. Это полезно, так как у некоторых GUI есть серый цвет заливки фона фигуры, а вам, вероятно, захочется переопределить его в печатном виде.
Параметры: - filename
-
также может быть объектом файла для бэкендов изображений
-
orientation : {'landscape', 'portrait'}, optional -
в настоящее время применяется только к печати PostScript.
-
dpi : scalar, optional -
точки на дюйм для сохранения фигуры; если None, используется savefig.dpi
-
facecolor : color or None, optional -
цвет заливки фигуры; если None, по умолчанию используется savefig.facecolor
-
edgecolor : color or None, optional -
цвет контура фигуры; если None, по умолчанию используется savefig.edgecolor
-
format : str, optional -
если задано, принудительно устанавливает формат файла для сохранения
-
bbox_inches : str or Bbox, optional -
Прямоугольник в дюймах. Сохраняется только указанная часть фигуры. Если 'tight', пытается определить прямоугольник фигуры. Если None, используется savefig.bbox
-
pad_inches : scalar, optional -
Количество отступа вокруг фигуры при bbox_inches = 'tight'. Если None, используется savefig.pad_inches
-
bbox_extra_artists : list of Artist, optional -
Список дополнительных артистов, которые будут учитываться при вычислении прямоугольника.
-
release_mouse(self, ax)[source] -
Освободить захват мыши, удерживаемый осями, ax. Обычно вызывается виджетами. Вызов допустим даже если у ax нет текущего захвата мыши.
-
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 отрицательный, время ожидания никогда не истечёт.
Только интерактивные бэкенды должны переопределять этот метод, и он полагается на то, что
flush_eventsреализован корректно.Интерактивные бэкенды должны реализовать его более нативным способом.
-
stop_event_loop(self)[source] -
Останавливает текущую блокирующую событийную петлю.
Интерактивным бэкендам нужно переопределить этот метод, чтобы он соответствовал
start_event_loop
-
supports_blit = True
-
switch_backends(self, FigureCanvasClass)[source] -
Создаёт экземпляр FigureCanvasClass
Это используется для переключения бэкендов, например, для создания FigureCanvasPS из FigureCanvasGTK. Обратите внимание, что глубокое копирование не выполняется, поэтому любые изменения в одном из экземпляров (например, установка размера рисунка или свойств линии) будут отражены в другом.
-
-
class matplotlib.backend_bases.FigureManagerBase(canvas, num)[source] -
Bases:
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) -
button_press_handler_id : int -
Идентификатор обработчика нажатий кнопок мыши по умолчанию, при использовании 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] -
Реализует стандартные комбинации клавиш mpl, определённые в Клавиши навигации.
-
resize(self, w, h)[source] -
Для бэкендов с графическим интерфейсом, изменяет размер окна (в пикселях).
-
set_window_title(self, title)[source] -
Устанавливает текст заголовка окна, содержащего рисунок.
Не имеет эффекта для бэкендов без графического интерфейса (например, PS).
-
show(self)[source] -
Для бэкендов с графическим интерфейсом, отображает окно рисунка и перерисовывает его. Для бэкендов без графического интерфейса, вызывает исключение, которое перехватывается
show(), для вывода необязательного предупреждения.
-
-
class matplotlib.backend_bases.GraphicsContextBase[source] -
Базовый класс, предоставляющий цвета, стили линий и т. д.
Базы:
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, transform), где path — объект
Path, а transform — аффинное преобразование, применяемое к пути перед обрезкой.
-
get_clip_rectangle(self)[source] -
Возвращает прямоугольник обрезки в виде объекта
Bbox.
-
get_dashes(self)[source] -
Возвращает информацию о пунктирной линии в виде кортежа.
Список пунктира имеет чётную длину и указывает, на сколько пикселей включается и выключается чернила.
Дополнительную информацию можно найти на странице 107 руководства PostScript BLUEBOOK.
Значение по умолчанию — 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] -
Возвращает параметры размытия для объекта.
Возвращает: -
sketch_params : tuple or None -
Кортеж из 3 элементов:
-
scale: Амплитуда колебания перпендикулярно исходной линии. -
length: Длина колебания вдоль линии. -
randomness: Коэффициент масштабирования, сжимающий или расширяющий длину.
Может вернуть
None, если параметры размытия не были установлены. -
-
-
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] -
Устанавливает путь обрезки и преобразование. Объект Path должен быть экземпляром
TransformedPath.
-
-
set_clip_rectangle(self, rectangle)[source] -
Установить прямоугольник обрезки с последовательностью (левый, нижний, ширина, высота)
-
set_dashes(self, dash_offset, dash_list)[source] -
Установить стиль штриховки для gc.
Параметры: -
dash_offset : float -
смещение (обычно 0).
-
dash_list : array_like -
устанавливает последовательность включения-выключения в виде точек.
(None, None)определяет сплошную линию
-
-
set_foreground(self, fg, isRGBA=False)[source] -
Установить цвет переднего плана.
Параметры: -
fg : color -
isRGBA : bool -
Если известно, что 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] -
Установить параметры наброска.
Параметры: -
scale : float, optional -
Амплитуда колебаний перпендикулярно исходной линии в пикселях. Если масштаб
None, или не указан, фильтр наброска не будет применён. -
length : float, optional -
Длина колебаний вдоль линии в пикселях (по умолчанию 128).
-
randomness : float, optional -
Коэффициент масштаба, по которому длина уменьшается или увеличивается (по умолчанию 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)Атрибуты: -
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.MouseButton[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)Атрибуты: -
button : {None, MouseButton.LEFT, MouseButton.MIDDLE, MouseButton.RIGHT, 'up', 'down'} -
Нажатая кнопка. 'up' и 'down' используются для событий прокрутки. Обратите внимание, что в nbagg-бекенде и средняя, и правая кнопки возвращают RIGHT, так как нажатие правой кнопки вызывает контекстное меню в некоторых браузерах. Обратите внимание, что LEFT и RIGHT фактически относятся к "первичной" и "вторичной" кнопкам, т. е. если пользователь меняет свои левую и правую кнопки ("леворукое положение"), то кнопка LEFT будет физически правой.
-
key : None or str -
Нажатая клавиша во время срабатывания события мыши, например, 'shift'. См.
KeyEvent. -
step : scalar -
Количество шагов прокрутки (положительное для 'up', отрицательное для 'down'). Это относится только к 'scroll_event' и по умолчанию равно 0 в противном случае.
-
dblclick : bool -
Является ли событие двойным щелчком. Это относится только к 'button_press_event' и в противном случае равно False. В частности, оно не используется в 'button_release_event'.
x, y в координатах фигуры, 0,0 = низ, слева кнопка нажата None, 1, 2, 3, 'up', 'down'
-
Bases:
objectБазовый класс для навигационной курсорной системы, версия 2
Модули backends должны реализовывать холст, который обрабатывает подключения для '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.Если это требуется backend, этот метод должен инициировать обновление в цикле событий backend после установки курсора, так как этот метод может вызываться, например, перед длительной задачей, во время которой интерфейс пользователя не обновляется.
-
Включить или выключить кнопки "Назад" / "Вперёд".
-
Отобразить сообщение на панели инструментов или в строке состояния.
-
Сбросить стек осей.
-
Активировать режим масштабирования по прямоугольнику.
-
-
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(self, s)[source] -
Закрыть элемент группировки с меткой s
Используется только рендерером SVG.
-
draw_gouraud_triangle(self, 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(self, 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(self, 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(self, 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(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", в зависимости от пространства, в котором находятся сдвиги.
Это предоставляет реализацию по умолчанию
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='TeX!', mtext=None)[source]
-
-
draw_text(self, 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 -
Исходный объект текста для отрисовки.
Примечания
Примечание для разработчиков бэкендов
При попытке определить, правильно ли вы рассчитали область, которая необходима для вывода текста (что позволяет правильно работать с выкладкой/выравниванием текста), полезно изменить строку в текстовом файле:
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.0 * dpi/72.0
Параметры: -
points : scalar or array_like -
число с плавающей точкой или массив numpy с числами с плавающей точкой
Возвращает: - Преобразованные в пиксели точки
-
-
start_filter(self)[source] -
Переключение на временный рендерер для эффектов фильтрации изображений.
В настоящее время поддерживается только рендерером agg.
-
start_rasterizing(self)[source] -
Переключение на растровый рендерер.
Используется в
MixedModeRenderer.
-
stop_filter(self, filter_func)[source] -
Возвращение к исходному рендереру. Содержимое временного рендерера обрабатывается с помощью filter_func и отображается на исходном рендерере в качестве изображения.
В настоящее время поддерживается только рендерером agg.
-
stop_rasterizing(self)[source] -
Возврат к векторному рендереру и отображение содержимого растрового рендерера в виде изображения на векторном рендерере.
Используется в
MixedModeRenderer.
-
strip_math(self, s)[source] -
[Устарело]
Примечания
Устарело начиная с версии 3.1:
-
-
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(self, 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(self, func, *args, **kwargs)[source] -
Регистрация func для вызова таймером при срабатывании события. Любые дополнительные аргументы будут переданы в func.
Функция возвращает func, что позволяет использовать её как декоратор.
-
interval
-
remove_callback(self, func, *args, **kwargs)[source] -
Удаление func из списка обратных вызовов.
args и kwargs являются необязательными и используются для различения копий одной и той же функции, зарегистрированной для вызова с различными аргументами. Это поведение устарело. В будущем
*args, **kwargsбольше не будет учитываться; чтобы сохранить возможность удаления конкретного обратного вызова, передайте его вadd_callbackв качестве объектаfunctools.partial.
-
single_shot
-
start(self, interval=None)[source] -
Запуск объекта таймера.
Параметры: -
interval : int, optional -
Интервал таймера в миллисекундах; переопределяет ранее заданный интервал, если он предоставлен.
-
-
stop(self)[source] -
Остановка таймера.
-
-
class matplotlib.backend_bases.ToolContainerBase(toolmanager)[source] -
Базовый класс для всех контейнеров инструментов, например, панелей инструментов.
Базовый класс для всех контейнеров инструментов, например, панелей инструментов.
Базы:
objectАтрибуты: -
toolmanager : ToolManager -
Инструменты, с которыми данный
ToolContainerхочет взаимодействовать.
-
add_tool(self, tool, group, position=-1)[source] -
Добавляет инструмент в этот контейнер
Параметры: -
tool : tool_like -
Инструмент для добавления, см.
ToolManager.get_tool. -
group : str -
Название группы, в которую нужно добавить инструмент.
-
position : int (optional) -
Позиция инструмента в группе. По умолчанию - конец.
-
-
add_toolitem(self, 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(self, name)[source] -
Удаляет элемент инструмента из
ToolContainerЭтот метод должен быть реализован для каждого бэкэнда
Вызывается, когда
ToolManagerизлучаетtool_removed_eventПараметры: -
name : string -
Имя инструмента для удаления
-
-
toggle_toolitem(self, name, toggled)[source] -
Переключает элемент инструмента без срабатывания события
Параметры: -
name : String -
Идентификатор инструмента для переключения
-
toggled : bool -
Установить ли этот инструмент как переключатель или нет.
-
-
trigger_tool(self, name)[source] -
Вызвать инструмент
Параметры: -
name : string -
Имя (идентификатор) инструмента, вызванного внутри контейнера
-
-
-
Действия по умолчанию Matplotlib для дополнительных кнопок мыши.
-
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.1.1/api/backend_bases_api.html