matplotlib.backend_bases
Абстрактные базовые классы определяют примитивы, которые должны реализовывать рендереры и графические контексты, чтобы служить бэкэндом matplotlib
-
RendererBase - Абстрактный базовый класс для обработки операций рисования/рендеринга.
-
FigureCanvasBase - Уровень абстракции, который отделяет
matplotlib.figure.Figureот бэкенд-специфичных деталей, таких как область рисования пользовательского интерфейса -
GraphicsContextBase - Абстрактный базовый класс, предоставляющий цвет, стили линий и т. д…
-
Event - Базовый класс для всех обработчиков событий matplotlib. Производные классы, такие как
KeyEventиMouseEventхранят метаданные, такие как нажатые клавиши и кнопки, координаты x и y в пикселях иAxesкоординатах. -
ShowBase - Базовый класс для класса Show каждого интерактивного бэкэнда; вызываемый ‘show’ затем устанавливается в Show.__call__, унаследованный от ShowBase.
-
ToolContainerBase - Базовый класс для класса Toolbar каждого интерактивного бэкэнда.
-
StatusbarBase - Базовый класс для области сообщений.
-
class matplotlib.backend_bases.CloseEvent(name, canvas, guiEvent=None) -
Bases:
matplotlib.backend_bases.EventСобытие, срабатывающее при закрытии фигуры
-
class matplotlib.backend_bases.DrawEvent(name, canvas, renderer) -
Bases:
matplotlib.backend_bases.EventСобытие, срабатывающее при операции рисования на холсте
В дополнение к атрибутам
Event, определены следующие атрибуты события:Атрибуты
renderer ( RendererBase) рендерер для события рисования
-
class matplotlib.backend_bases.Event(name, canvas, guiEvent=None) -
Bases:
objectСобытие matplotlib. Присоедините дополнительные атрибуты, как определено в
FigureCanvasBase.mpl_connect(). Следующие атрибуты определены и показаны со значениями по умолчаниюАтрибуты
name (str) имя события canvas ( FigureCanvasBase) бэкэнд-специфический экземпляр холста, генерирующий событиеguiEvent событие GUI, которое вызвало событие matplotlib
-
class matplotlib.backend_bases.FigureCanvasBase(figure) -
Bases:
objectПоверхность холста, на которую отрисовывается фигура.
Публичные атрибуты
Атрибуты
figure ( matplotlib.figure.Figure) Экземпляр фигуры высокого уровня-
blit(bbox=None) -
Отрисовка фрагмента холста в прямоугольнике bbox (по умолчанию — весь холст).
-
Производные классы бекенда должны вызывать эту функцию при нажатии любой кнопки мыши. x, y — координаты на холсте; 0,0 — в нижнем левом углу. Кнопка и клавиша определяются в
MouseEvent.Этот метод вызовет все функции, связанные с событием «button_press_event», с экземпляром
MouseEvent.
-
Производные классы бекенда должны вызывать эту функцию при отпускании любой кнопки мыши.
Этот метод вызовет все функции, связанные с событием «button_release_event», с экземпляром
MouseEvent.Параметры: x : скаляр
координаты на холсте, где 0=слева
y : скаляр
координаты на холсте, где 0=снизу
guiEvent
нативное событие пользовательского интерфейса, сгенерировавшее событие mpl
-
close_event(guiEvent=None) -
Передать
CloseEventвсем функциям, связанным сclose_event.
-
draw(*args, **kwargs) -
Отрисовка
Figure.
-
draw_cursor(event) -
Отрисовка курсора в event.axes, если inaxes не равно None. Используйте нативное отображение GUI для повышения эффективности, если это возможно.
-
draw_event(renderer) -
Передать
DrawEventвсем функциям, связанным сdraw_event.
-
draw_idle(*args, **kwargs) -
draw()только при бездействии; по умолчанию используется draw, но бекенды могут переопределять
-
enter_notify_event(guiEvent=None, xy=None) -
Производные классы бекенда должны вызывать эту функцию при входе на холст
Параметры: guiEvent
нативное событие пользовательского интерфейса, сгенерировавшее событие mpl
xy : кортеж из 2 скаляров
координаты указателя при входе на холст
-
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 = {'ps': 'Postscript', 'eps': 'Encapsulated Postscript', 'pdf': 'Portable Document Format', 'pgf': 'PGF code for LaTeX', 'png': 'Portable Network Graphics', 'raw': 'Raw RGBA bitmap', 'rgba': 'Raw RGBA bitmap', 'svg': 'Scalable Vector Graphics', 'svgz': 'Scalable Vector Graphics', 'jpg': 'Joint Photographic Experts Group', 'jpeg': 'Joint Photographic Experts Group', 'tif': 'Tagged Image File Format', 'tiff': 'Tagged Image File Format'}
-
fixed_dpi = None
-
flush_events() -
Обработка событий GUI для фигуры.
Интерактивные бекенды должны переопределять этот метод.
-
get_default_filename() -
Возвращает строку, содержащую расширение, подходящую для использования в качестве имени файла по умолчанию.
-
classmethod get_default_filetype() -
Возвращает стандартный формат сохранения файла, как указано в rcParam
savefig.format. Возвращаемая строка не включает точку. Переопределено в бекендах, поддерживающих только один тип файла.
-
classmethod get_supported_filetypes() -
Возвращает словарь поддерживаемых форматов сохранения файла этим бекендом.
-
classmethod get_supported_filetypes_grouped() -
Возвращает словарь поддерживаемых форматов сохранения файла этим бекендом, где ключами являются имена типов файлов, такие как «Joint Photographic Experts Group», а значениями — список расширений имён файлов, используемых для данного типа файла, такие как [«jpg», «jpeg»].
-
get_width_height() -
Возвращает ширину и высоту фигуры в пунктах или пикселях (в зависимости от бекенда), усечённые до целых чисел.
-
get_window_title() -
Получить текст заголовка окна, содержащего фигуру. Возвращает None, если окна нет (например, для бекенда PS).
-
grab_mouse(ax) -
Устанавливает дочерний объект осей, которые в данный момент захватывают события мыши. Обычно вызывается самими виджетами. Вызов, если мышь уже захвачена другой осью, является ошибкой.
-
idle_event(guiEvent=None) -
Устарело начиная с версии 2.1: Функция idle_event устарела начиная с версии 2.1.
Вызывается, когда GUI бездействует.
-
is_saving() -
Возвращает, находится ли рендерер в процессе сохранения в файл, а не отрисовки для буфера на экране.
-
key_press_event(key, guiEvent=None) -
Передать
KeyEventвсем функциям, связанным сkey_press_event.
-
key_release_event(key, guiEvent=None) -
Передать
KeyEventвсем функциям, связанным сkey_release_event.
-
leave_notify_event(guiEvent=None) -
Производные классы бекенда должны вызывать эту функцию при выходе с холста
Параметры: guiEvent
нативное событие пользовательского интерфейса, сгенерировавшее событие mpl
-
motion_notify_event(x, y, guiEvent=None) -
Производные классы бекенда должны вызывать эту функцию при любом событии motion-notify.
Этот метод вызовет все функции, связанные с событием «motion_notify_event», с экземпляром
MouseEvent.Параметры: x : скаляр
координаты на холсте, где 0=слева
y : скаляр
координаты на холсте, где 0=снизу
guiEvent
нативное событие пользовательского интерфейса, сгенерировавшее событие mpl
-
mpl_connect(s, func) -
Связывает событие со строкой 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) -
Отключить обратный вызов id cid
Примеры
Использование:
cid = canvas.mpl_connect('button_press_event', on_press) #...later canvas.mpl_disconnect(cid)
-
new_timer(*args, **kwargs) -
Создаёт новый подкласс, специфичный для бэкенда, класса
backend_bases.Timer. Это полезно для получения периодических событий через встроенный цикл событий бэкенда. Реализовано только для бэкэндов с GUI.Другие параметры: interval : скаляр
Интервал таймера в миллисекундах
callbacks : список
Последовательность (func, args, kwargs), где
func(*args, **kwargs)будет выполняться таймером каждые interval.
-
onRemove(ev) -
Обработчик событий мыши, удаляющий самый верхний объект под курсором. Подключите его к событию ‘mouse_press_event’ используя:
canvas.mpl_connect('mouse_press_event',canvas.onRemove)
-
pick(mouseevent)
-
pick_event(mouseevent, artist, **kwargs) -
Этот метод будет вызываться объектами, которые были выбраны, и вызовет обратные вызовы
PickEvent, зарегистрированные слушателями.
-
print_figure(filename, dpi=None, facecolor=None, edgecolor=None, orientation='portrait', format=None, **kwargs) -
Вывод изображения в виде печатного файла. Установите цвет фона и контура области изображения. Это полезно, так как у некоторых GUI есть серый фон для изображения, и, вероятно, вам нужно будет его переопределить при выводе на печать.
Параметры: filename
также может быть объектом файла для бэкэндов изображений
orientation : {‘landscape’, ‘portrait’}, необязательно
в настоящее время применяется только к печати PostScript.
dpi : скаляр, необязательно
количество точек на дюйм для сохранения изображения; если None, используется savefig.dpi
facecolor : цвет или None, необязательно
цвет фона изображения; если None, по умолчанию используется savefig.facecolor
edgecolor : цвет или None, необязательно
цвет контура изображения; если None, по умолчанию используется savefig.edgecolor
format : строка, необязательно
если установлено, принудительно устанавливает формат файла для сохранения
bbox_inches : строка или
Bbox, необязательноПрямоугольник в дюймах. Сохраняется только заданная часть изображения. Если ‘tight’, пытается определить прямоугольник изображения. Если None, используется savefig.bbox
pad_inches : скаляр, необязательно
Размер отступа вокруг изображения при bbox_inches = ‘tight’. Если None, используется savefig.pad_inches
bbox_extra_artists : список
Artist, необязательноСписок дополнительных объектов, которые будут учитываться при расчёте прямоугольника.
-
release_mouse(ax) -
Отпустить захват мыши, удерживаемый осями, ax. Обычно вызывается виджетами. Вызов этого метода допустим даже если у ax нет текущего захвата мыши.
-
resize(w, h) -
Установить размер холста в пикселях.
-
resize_event() -
Передать
ResizeEventвсем функциям, подключённым кresize_event.
-
scroll_event(x, y, step, guiEvent=None) -
Производные классы бэкэндов должны вызывать эту функцию при любом событии прокрутки колёсика мыши. x,y — координаты холста: 0,0 — нижний левый угол. button и key определены в MouseEvent.
Этот метод вызовет все функции, подключённые к событию ‘scroll_event’ с экземпляром
MouseEvent.
-
set_window_title(title) -
Установить текст заголовка окна, содержащего изображение. Обратите внимание, что это не повлияет, если окна нет (например, бэкенд PS).
-
start_event_loop(timeout=0) -
Запустить блокирующий цикл событий.
Такой цикл событий используется интерактивными функциями, такими как
ginputиwaitforbuttonpress, для ожидания событий.Цикл событий блокируется до тех пор, пока функция обратного вызова не вызовет
stop_event_loopили не истечёт timeout.Если timeout отрицательный, таймаут никогда не произойдёт.
Реализовывать этот метод должны только интерактивные бэкэнды, и он зависит от правильной реализации
flush_events.Интерактивные бэкэнды должны реализовывать это более нативным способом.
-
start_event_loop_default(timeout=0) -
Устарело начиная с версии 2.1: Функция start_event_loop_default была устаревшей начиная с версии 2.1.
Запустить блокирующий цикл событий.
Такой цикл событий используется интерактивными функциями, такими как
ginputиwaitforbuttonpress, для ожидания событий.Цикл событий блокируется до тех пор, пока функция обратного вызова не вызовет
stop_event_loopили не истечёт timeout.Если timeout отрицательный, таймаут никогда не произойдёт.
Реализовывать этот метод должны только интерактивные бэкэнды, и он зависит от правильной реализации
flush_events.Интерактивные бэкэнды должны реализовывать это более нативным способом.
-
stop_event_loop() -
Остановить текущий блокирующий цикл событий.
Интерактивные бэкэнды должны переопределить этот метод, чтобы соответствовать
start_event_loop
-
stop_event_loop_default() -
Устарело начиная с версии 2.1: Функция stop_event_loop_default была устаревшей начиная с версии 2.1.
Остановить текущий блокирующий цикл событий.
Интерактивные бэкэнды должны переопределить этот метод, чтобы соответствоватьstart_event_loop
-
supports_blit = True
-
switch_backends(FigureCanvasClass) -
Создать экземпляр FigureCanvasClass
Это используется для переключения бэкэндов, например, для создания FigureCanvasPS из FigureCanvasGTK. Обратите внимание, что глубокое копирование не выполняется, поэтому любые изменения в одном из экземпляров (например, установка размера изображения или свойств линии) будут отражены в другом.
-
-
class matplotlib.backend_bases.FigureManagerBase(canvas, num) -
Bases:
objectВспомогательный класс для режима pyplot, объединяет всё в аккуратный пакет
Атрибуты
canvas ( FigureCanvasBase) Специфичный для бэкэнда экземпляр холстаnum (int или str) Номер фигуры -
destroy()
-
full_screen_toggle()
-
get_window_title() -
Получить текст заголовка окна, содержащего фигуру.
Возвращает None для бэкэндов без графического интерфейса (например, PS).
-
key_press(event) -
Реализует стандартные привязки клавиш mpl, определённые в Краткая справка по навигационным клавишам
-
key_press_handler_id = None -
Возвращаемый идентификатор, полученный при подключении обработчика стандартных клавиш через
FigureCanvasBase.mpl_connect().Для отключения обработки стандартных нажатий клавиш:
manager, canvas = figure.canvas.manager, figure.canvas canvas.mpl_disconnect(manager.key_press_handler_id)
-
resize(w, h) -
Для графических бэкэндов, изменить размер окна (в пикселях).
-
set_window_title(title) -
Установить текст заголовка окна, содержащего фигуру.
Это не имеет эффекта для бэкэндов без графического интерфейса (например, PS).
-
show() -
Для графических бэкэндов, показать окно фигуры и перерисовать. Для бэкэндов без графического интерфейса, вызывать исключение, которое будет перехвачено
show()для вывода опционального предупреждения.
-
show_popup(msg) -
Отобразить сообщение в всплывающем окне — только для графических интерфейсов.
-
-
class matplotlib.backend_bases.GraphicsContextBase -
Bases:
objectАбстрактный базовый класс, предоставляющий цвет, стили линий и т.д…
-
copy_properties(gc) -
Копирование свойств из gc в self
-
get_alpha() -
Возвращает значение альфа-канала, используемое для смешивания. Не поддерживается во всех бэкэндах.
-
get_antialiased() -
Возвращает True, если объект должен использовать антиалиасинг при отрисовке.
-
get_capstyle() -
Возвращает стиль обрезки концов линии в виде строки (‘butt’, ‘round’, ‘projecting’)
-
get_clip_path() -
Возвращает обрезающую траекторию в виде (путь, преобразование), где путь является экземпляром
Path, а преобразование — аффинное преобразование, применяемое к пути перед обрезкой.
-
get_clip_rectangle() -
Возвращает обрезающую прямоугольную область в виде экземпляра
Bbox.
-
get_dashes() -
Возвращает информацию о пунктирной линии в виде кортежа смещения и списка длин штрихов.
Список длин — список чётной длины, задающий чередование «чернила на» и «чернила выключены» в пикселях.
См. стр. 107 в PostScript BLUEBOOK для получения дополнительной информации.
Значение по умолчанию — None.
-
get_forced_alpha() -
Возвращает значение, указывающее, должно ли значение, возвращаемое get_alpha(), переопределять любые другие значения альфа-канала.
-
get_gid() -
Возвращает идентификатор объекта, если он задан, в противном случае None.
-
get_hatch() -
Возвращает текущий стиль штриховки.
-
get_hatch_color() -
Возвращает цвет, используемый для штриховки.
-
get_hatch_linewidth() -
Возвращает толщину линии, используемую для штриховки.
-
get_hatch_path(density=6.0) -
Возвращает путь для текущей штриховки.
-
get_joinstyle() -
Возвращает стиль соединения линий (‘miter’, ‘round’, ‘bevel’)
-
get_linestyle() -
Устарело начиная с версии 2.1: Функция get_linestyle устарела начиная с версии 2.1.
Возвращает стиль линии: (‘solid’, ‘dashed’, ‘dashdot’, ‘dotted’).
-
get_linewidth() -
Возвращает толщину линии в пунктах.
-
get_rgb() -
Возвращает кортеж из трех или четырех чисел с плавающей точкой от 0 до 1.
-
get_sketch_params() -
Возвращает параметры стиля «набросок» для элемента.
Возвращает: sketch_params : кортеж или
NoneКортеж из 3 элементов:
-
scale: Амплитуда колебаний перпендикулярно исходной линии. -
length: Длина колебаний вдоль линии. -
randomness: Коэффициент масштабирования длины.
Может вернуть
None, если параметры «набросок» не были установлены. -
-
get_snap() -
Возвращает настройку «привязки», которая может быть:
- True: привязывать вершины к ближайшему центру пикселя
- False: оставлять вершины как есть
- None: (авто) Если путь содержит только прямолинейные отрезки, округлять до ближайшего центра пикселя
-
get_url() -
Возвращает URL, если он задан, в противном случае None.
-
restore() -
Восстанавливает контекст графики из стека — необходимо только для бэкэндов, которые сохраняют контексты графики в стеке.
-
set_alpha(alpha) -
Устанавливает значение альфа-канала для смешивания. Не поддерживается во всех бэкэндах. Если
alpha=None(значение по умолчанию), альфа-компоненты цветов переднего плана и заливки будут использоваться для установки их соответствующих непрозрачностей (если применимо); в противном случае,alphaпереопределит их.
-
set_antialiased(b) -
True, если объект должен быть нарисован с антиалиасингом.
-
set_capstyle(cs) -
Устанавливает стиль обрезки концов линий (‘butt’, ‘round’, ‘projecting’)
-
set_clip_path(path) -
Устанавливает обрезающую траекторию и преобразование. Путь должен быть экземпляром
TransformedPath.
-
set_clip_rectangle(rectangle) -
Устанавливает обрезающую прямоугольную область с последовательностью (левая, нижняя, ширина, высота)
-
set_dashes(dash_offset, dash_list) -
Устанавливает стиль пунктирной линии для контекста графики.
Параметры: dash_offset : float
смещение (обычно 0).
dash_list : array_like
задает последовательность включения/выключения чернил в точках.
(None, None)указывает сплошную линию.
-
set_foreground(fg, isRGBA=False) -
Устанавливает цвет переднего плана. fg может быть строкой формата MATLAB, строкой шестнадцатеричного цвета HTML, кортежем единиц rgb или rgba, или числом с плавающей точкой от 0 до 1. В последнем случае используется градация серого.
Если известно, что fg является rgba, установите
isRGBA=Trueдля повышения эффективности.
-
set_gid(id) -
Устанавливает идентификатор.
-
set_hatch(hatch) -
Устанавливает стиль штриховки для заливки.
-
set_hatch_color(hatch_color) -
Устанавливает цвет, используемый для штриховки.
-
set_joinstyle(js) -
Устанавливает стиль соединения линий (‘miter’, ‘round’, ‘bevel’)
-
set_linestyle(style) -
Устарело начиная с версии 2.1: Функция set_linestyle устарела начиная с версии 2.1.
Устанавливает стиль линии (‘solid’, ‘dashed’, ‘dashdot’, ‘dotted’). Эти стили определены в rcParams
lines.dashed_pattern,lines.dashdot_patternиlines.dotted_pattern. Можно также указать настраиваемые стили пунктирной линии, передав кортеж (смещение, пары длин штрихов).
-
set_linewidth(w) -
Устанавливает толщину линии в пунктах.
-
set_sketch_params(scale=None, length=None, randomness=None) -
Устанавливает параметры стиля «набросок».
Параметры: scale : float, необязательно
Амплитуда колебаний перпендикулярно исходной линии в пикселях. Если scale равно
Noneили не задано, фильтр «набросок» не будет применён.length : float, необязательно
Длина колебаний вдоль линии в пикселях (по умолчанию 128)
randomness : float, необязательно
Коэффициент масштабирования длины (по умолчанию 16)
-
set_snap(snap) -
Устанавливает настройку «привязки»:
- True: привязывать вершины к ближайшему центру пикселя
- False: оставлять вершины как есть
- None: (авто) Если путь содержит только прямолинейные отрезки, округлять до ближайшего центра пикселя
-
-
set_url(url) -
Устанавливает URL для ссылок в совместимых бэкендах
-
-
class matplotlib.backend_bases.IdleEvent(*args, **kwargs) -
Базы:
matplotlib.backend_bases.EventУстарело начиная с версии 2.1: Класс IdleEvent был устаревшим в версии 2.1.
Событие, которое запускается GUI-бэкендом, когда он простаивает — полезно для пассивной анимации
-
class matplotlib.backend_bases.KeyEvent(name, canvas, key, x=0, y=0, guiEvent=None) -
Базы:
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 или строка) нажатая(ые) клавиша(ы). Может быть 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) -
Базы:
matplotlib.backend_bases.EventСобытие, имеющее экранное положение
Следующие дополнительные атрибуты определены и показаны со значениями по умолчанию.
В дополнение к атрибутам
Event, определены следующие атрибуты события:Атрибуты
x (скаляр) позиция x — пиксели слева от холста y (скаляр) позиция y — пиксели снизу от холста inaxes (булево) экземпляр Axes, если мышь над осямиxdata (скаляр) координата x мыши в координатах данных ydata (скаляр) координата y мыши в координатах данных x, y в координатах фигуры, 0,0 = низ, слева
-
inaxes = None
-
lastevent = None
-
x = None
-
xdata = None
-
y = None
-
ydata = None
-
-
class matplotlib.backend_bases.MouseEvent(name, canvas, x, y, button=None, key=None, step=0, dblclick=False, guiEvent=None) -
Базы:
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, скаляр или строка) нажатая кнопка None, 1, 2, 3, ‘up’, ‘down’ (up и down используются для событий прокрутки). Обратите внимание, что в бэкенде nbagg, и средний, и правый щелчки возвращают 3, так как щелчок правой кнопкой мыши отобразит контекстное меню в некоторых браузерах. key (None или строка) клавиша, нажатая при срабатывании события мыши (см. KeyEvent)step (скаляр) количество шагов прокрутки (положительное для ‘up’, отрицательное для ‘down’) x, y в координатах фигуры, 0,0 = низ, слева нажатая кнопка None, 1, 2, 3, ‘up’, ‘down’
-
dblclick = None
-
inaxes = None
-
step = None
-
x = None
-
xdata = None
-
y = None
-
ydata = None
-
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.
-
Устарело начиная с версии 2.1: Функция dynamic_update устарела начиная с версии 2.1. Используйте canvas.draw_idle вместо нее.
-
Переход вперёд в стеке пределов просмотра.
-
Восстановление исходного вида.
-
Активирует инструмент панорамирования/масштабирования. Панорамирование левой кнопкой, масштабирование правой.
-
Вызывается при нажатии пользователем кнопки мыши.
-
Обработчик нажатия кнопки мыши в режиме панорамирования/масштабирования.
-
Обработчик нажатия кнопки мыши в режиме масштабирования по прямоугольнику.
-
Добавляет текущие пределы просмотра и положение в стек.
-
Обработчик отпускания кнопки мыши.
-
Обработчик отпускания кнопки мыши в режиме панорамирования/масштабирования.
-
Обработчик отпускания кнопки мыши в режиме масштабирования по прямоугольнику.
-
Удаление прямоугольника «резинки».
-
Сохранение текущего рисунка.
-
Устанавливает текущий курсор на одно из значений перечисления
Cursors.Если это необходимо для бэкенда, этот метод должен инициировать обновление в цикле событий бэкенда после установки курсора, так как этот метод может быть вызван, например, перед длительной задачей, во время которой интерфейс пользователя не обновляется.
-
Включение или отключение кнопок «Назад»/«Вперёд».
-
Отображение сообщения на панели инструментов или в строке состояния.
-
Сброс стека осей.
-
Активирует режим масштабирования по прямоугольнику.
-
-
exception matplotlib.backend_bases.NonGuiException -
Bases:
Exception
-
class matplotlib.backend_bases.PickEvent(name, canvas, mouseevent, artist, guiEvent=None, **kwargs) -
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 -
Bases:
objectАбстрактный базовый класс для обработки операций рисования/рендеринга.
Следующие методы должны быть реализованы в бэкенде для полной функциональности (хотя реализация только
draw_path()даст высокоэффективный бэкенд):Следующие методы должны быть реализованы в бэкенде по соображениям оптимизации:
-
close_group(s) -
Закрыть элемент группировки с меткой s. В настоящее время используется только
backend_svg
-
draw_gouraud_triangle(gc, points, colors, transform) -
Отрисовать треугольник с интерполяцией цвета Гуро.
Параметры: 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) -
Отрисовать серию треугольников с интерполяцией цвета Гуро.
Параметры: 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) -
Отрисовать RGBA изображение.
Параметры: gc :
GraphicsContextBaseконтекст графики с информацией о обрезке.
x : скаляр
расстояние в физических единицах (т.е., точки или пиксели) от левой стороны холста.
y : скаляр
расстояние в физических единицах (т.е., точки или пиксели) от нижней стороны холста.
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) -
Отрисовывает маркер в каждой из вершин в пути. Это включает все вершины, включая контрольные точки кривых. Чтобы избежать этого поведения, эти вершины следует удалить перед вызовом этой функции.
Это обеспечивает реализацию по умолчанию для draw_markers, которая выполняет несколько вызовов
draw_path(). Некоторые бэкэнды могут захотеть переопределить этот метод, чтобы нарисовать маркер только один раз и повторно использовать его несколько раз.Параметры: gc :
GraphicsContextBaseКонтекст графики.
marker_trans :
matplotlib.transforms.TransformАффинное преобразование, применяемое к маркеру.
trans :
matplotlib.transforms.TransformАффинное преобразование, применяемое к пути.
-
draw_path(gc, path, transform, rgbFace=None) -
Отрисовывает экземпляр
Pathс использованием заданного аффинного преобразования.
-
draw_path_collection(gc, master_transform, paths, all_transforms, offsets, offsetTrans, facecolors, edgecolors, linewidths, linestyles, antialiaseds, urls, offset_position) -
Отрисовывает коллекцию путей, выбирая свойства рисования из списков 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) -
Это предоставляет реализацию по умолчанию для
draw_quad_mesh(), которая генерирует пути и затем вызываетdraw_path_collection().
-
draw_tex(gc, x, y, s, prop, angle, ismath='TeX!', mtext=None)
-
-
draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None) -
Отрисовка текстового элемента
Параметры: gc :
GraphicsContextBaseконтекст графики
x : скаляр
координата x текста в координатах отображения
y : скаляр
координата y базовой линии текста в координатах отображения
s : str
строка текста
prop :
matplotlib.font_manager.FontPropertiesсвойства шрифта
angle : скаляр
угол поворота в градусах
mtext :
matplotlib.text.Textисходный текстовый объект для отрисовки
Примечания
Примечание для разработчиков бэкендов
При определении правильности вычисления области обрезки (что необходимо для правильной верстки и выравнивания текста), полезно изменить строку в файле text.py:
if 0: bbox_artist(self, renderer)
на if 1, и тогда вместе с текстом будет нарисована и сама область обрезки.
-
flipy() -
Возвращает True, если малые значения y соответствуют верхней части для отрисовщика. Используется только для отрисовки текста (
matplotlib.text) и изображений (matplotlib.image)
-
get_canvas_width_height() -
возвращает ширину и высоту холста в координатах отображения
-
get_image_magnification() -
Получить коэффициент увеличения изображений, передаваемых в
draw_image(). Позволяет бэкенду иметь изображения с разрешением, отличным от других элементов.
-
get_texmanager() -
возвращает экземпляр
matplotlib.texmanager.TexManager
-
get_text_width_height_descent(s, prop, ismath) -
Получить ширину, высоту и спуск (смещение от нижней части до базовой линии) в координатах отображения строки s со свойствами шрифта
FontPropertiesprop
-
new_gc() -
Возвращает экземпляр
GraphicsContextBase
-
open_group(s, gid=None) -
Открывает элемент группировки с меткой s. Если задан gid, используется gid в качестве идентификатора группы. В настоящее время используется только бэкендом
backend_svg.
-
option_image_nocomposite() -
Переопределите этот метод для отрисовщиков, которые не всегда хотят масштабировать и объединять растровые изображения (например, SVG, PDF или PS).
-
option_scale_image() -
Переопределите этот метод для отрисовщиков, которые поддерживают произвольные аффинные преобразования в
draw_image()(большинство векторных бэкендов).
-
points_to_pixels(points) -
Преобразование единиц измерения в точки в единицы отображения
Вам необходимо переопределить эту функцию (если ваш бэкенд не имеет dpi, например, postscript или svg). Некоторые системы отображения предполагают определенное значение для пикселей на дюйм:
points to pixels = points * pixels_per_inch/72.0 * dpi/72.0
Параметры: points : скаляр или массив
вещественное число или массив NumPy вещественных чисел
Возвращает: Значения, преобразованные в пиксели
-
start_filter() -
Используется в AggRenderer. Переключается на временный отрисовщик для эффектов фильтрации изображений.
-
start_rasterizing() -
Используется в MixedModeRenderer. Переключается на растровый отрисовщик.
-
stop_filter(filter_func) -
Используется в AggRenderer. Возвращается к исходному отрисовщику. Содержимое временного отрисовщика обрабатывается с помощью filter_func и отображается на исходном отрисовщике как изображение.
-
stop_rasterizing() -
Используется в MixedModeRenderer. Возвращается к векторному отрисовщику и содержимое растрового отрисовщика отображается на векторном отрисовщике как изображение.
-
strip_math(s)
-
-
class matplotlib.backend_bases.ResizeEvent(name, canvas) -
Базовый класс:
matplotlib.backend_bases.EventСобытие, вызываемое при изменении размера холста
В дополнение к атрибутам
Eventопределены следующие:Атрибуты
width (скаляр) ширина холста в пикселях height (скаляр) высота холста в пикселях
-
class matplotlib.backend_bases.ShowBase -
Базовый класс:
matplotlib.backend_bases._BackendПростой базовый класс для создания вызываемого метода show() в бэкендах.
Подкласс должен переопределить метод mainloop().
-
class matplotlib.backend_bases.StatusbarBase(toolmanager) -
Базовый класс для панели состояния
-
set_message(s) -
Отображение сообщения на панели инструментов или в строке состояния
Параметры: s : str
Текст сообщения
-
-
class matplotlib.backend_bases.TimerBase(interval=None, callbacks=None) -
Основан на:
objectБазовый класс для предоставления событий таймера, полезный для анимаций. Бэкенды должны реализовать несколько конкретных методов, чтобы использовать собственные механизмы тайминга, таким образом, чтобы события таймера были интегрированы в их циклы обработки событий.
Обязательные функции, которые необходимо реализовать:
-
_timer_start: Содержит код, специфичный для бэкенда, для запуска таймера -
_timer_stop: Содержит код, специфичный для бэкенда, для остановки таймера
Необязательные переопределения:
-
_timer_set_single_shot: Код для установки таймера в режим однократного запуска, если это поддерживается объектом таймера. Если нет, сам классTimerсохранит флаг, а метод_on_timerдолжен быть переопределен для поддержки такого поведения. -
_timer_set_interval: Код для установки интервала таймера, если существует метод для этого в объекте таймера. -
_on_timer: Это внутренняя функция, которую должен вызывать любой объект таймера, которая будет обрабатывать задачу запуска всех зарегистрированных обратных вызовов.
Атрибуты
interval (скаляр) Время между событиями таймера в миллисекундах. По умолчанию 1000 мс. single_shot (bool) Флаг булевого типа, указывающий, должен ли этот таймер работать как однократный (запуститься один раз и остановиться). По умолчанию False.callbacks (список) Хранит список кортежей (func, args), которые будут вызываться при событиях таймера. Этот список можно изменять напрямую, или можно использовать функции add_callbackиremove_callback.-
add_callback(func, *args, **kwargs) -
Зарегистрировать
funcдля вызова таймером, когда событие произойдёт. Любые дополнительные аргументы, переданные, будут переданы вfunc.
-
interval
-
remove_callback(func, *args, **kwargs) -
Удалить
funcиз списка обратных вызовов.argsиkwargsявляются необязательными и используются для различения копий одной и той же функции, зарегистрированной для вызова с разными аргументами.
-
single_shot
-
start(interval=None) -
Запустить объект таймера.
intervalявляется необязательным и будет использоваться для сброса интервала таймера, если указан.
-
stop() -
Остановить таймер.
-
-
class matplotlib.backend_bases.ToolContainerBase(toolmanager) -
Основан на:
objectБазовый класс для всех контейнеров инструментов, например, панелей инструментов.
Атрибуты
toolmanager ( ToolManager) Инструменты, с которыми этотToolContainerхочет взаимодействовать.-
add_tool(tool, group, position=-1) -
Добавляет инструмент в этот контейнер
Параметры: tool : tool_like
Инструмент для добавления, см.
ToolManager.get_tool.group : str
Имя группы, в которую добавить этот инструмент.
position : int (необязательно)
Позиция в группе для размещения этого инструмента. По умолчанию конец.
-
add_toolitem(name, group, position, image, description, toggle) -
Добавление элемента инструмента в контейнер
Этот метод должен быть реализован для каждого бэкенда
Обратный вызов, связанный с событием нажатия кнопки, должен быть ТОЧНО
self.trigger_tool(name)Параметры: name : строка
Имя инструмента для добавления, используется в качестве идентификатора инструмента и в качестве метки кнопок по умолчанию
group : Строка
Имя группы, к которой принадлежит этот инструмент
position : Целое число
Позиция инструмента в группе, если -1, то в конце
image_file : Строка
Имя файла изображения для кнопки или
Nonedescription : Строка
Описание инструмента, используется для всплывающих подсказок
toggle : Булево значение
-
remove_toolitem(name) -
Удаление элемента инструмента из
ToolContainerЭтот метод должен быть реализован для каждого бэкенда
Вызывается, когда
ToolManagerгенерируетtool_removed_eventПараметры: name : строка
Имя инструмента для удаления
-
toggle_toolitem(name, toggled) -
Переключение элемента инструмента без срабатывания события
Параметры: name : Строка
Идентификатор инструмента для переключения
toggled : bool
Устанавливает этот инструмент как переключатель или нет.
-
trigger_tool(name) -
Срабатывание инструмента
Параметры: name : Строка
Имя (идентификатор) инструмента, запущенного внутри контейнера
-
-
matplotlib.backend_bases.get_registered_canvas_class(format) -
Возвращает зарегистрированный по умолчанию холст для заданного формата файла. Обрабатывает отложенный импорт требуемого бэкенда.
-
matplotlib.backend_bases.key_press_handler(event, canvas, toolbar=None) -
Реализует стандартные сочетания клавиш mpl для холста и панели инструментов, описанные в Сочетания клавиш для навигации
Параметры: event :
KeyEventсобытие нажатия/отпускания клавиши
canvas :
FigureCanvasBaseэкземпляр холста, специфичный для бэкенда
toolbar :
NavigationToolbar2панель навигации курсора
-
matplotlib.backend_bases.register_backend(format, backend, description=None) -
Регистрация бэкенда для сохранения в заданном формате файла.
Параметры: format : str
Расширение файла
backend : имя модуля или класс холста
Бэкенд для обработки вывода файла
description : str, необязательно
Описание типа файла. По умолчанию — пустая строка
© 2012–2017 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/2.1.0/api/backend_bases_api.html