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 (по умолчанию весь холст).
-
Производные классы бэкенда должны вызывать эту функцию при нажатии любой клавиши мыши. x,y — координаты холста: 0,0 — внизу слева. Кнопка и клавиша определены в
MouseEvent.Этот метод будет вызывать все функции, подключенные к событию «button_press_event», с экземпляром
MouseEvent.
-
Производные классы бэкенда должны вызывать эту функцию при отпускании любой клавиши мыши.
Этот метод будет вызывать все функции, подключенные к событию «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] -
Отображение курсора в событии.axes, если inaxes не равно None. Используйте родственное отображение GUI для повышения эффективности, если это возможно
-
draw_event(renderer)[source] -
Передает событие
DrawEventвсем функциям, подключенным кdraw_event.
-
draw_idle(*args, **kwargs)[source] -
draw()только в режиме ожидания; по умолчанию рисуется, но бэкэнды могут переопределять
-
enter_notify_event(guiEvent=None, xy=None)[source] -
Производные классы бэкенда должны вызывать эту функцию при входе на холст
Параметры: - 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] -
Очистка событий GUI для фигуры.
Интерактивные бэкэнды должны переопределить этот метод.
-
get_default_filename()[source] -
Возвращает строку, включающую расширение, подходящую для использования в качестве имени файла по умолчанию.
-
classmethod get_default_filetype()[source] -
Получение формата сохранения файла по умолчанию, заданного в rcParam
savefig.format. Возвращаемая строка не включает точку. Переопределяется в бэкендах, поддерживающих только один тип файла.
-
classmethod get_supported_filetypes()[source] -
Возвращает словарь поддерживаемых форматов сохранения файла для этого бэкенда
-
classmethod get_supported_filetypes_grouped()[source] -
Возвращает словарь поддерживаемых форматов сохранения файла для этого бэкенда, где ключи — имена типов файлов, такие как «Joint Photographic Experts Group», а значения — список расширений файлов, используемых для этого типа файла, таких как ['jpg', 'jpeg'].
-
get_width_height()[source] -
Возвращает ширину и высоту фигуры в пунктах или пикселях (в зависимости от бэкенда), усеченные до целых чисел
-
get_window_title()[source] -
Получение текста заголовка окна, содержащего фигуру. Возвращает None, если окна нет (например, бэкенд PS).
-
grab_mouse(ax)[source] -
Устанавливает дочерние оси, которые в данный момент захватывают события мыши. Обычно вызывается самими виджетами. Вызов при уже захваченной мышью другой осью является ошибкой.
-
idle_event(guiEvent=None)[source] -
Устарел начиная с версии 2.1: Функция idle_event устарела в версии 2.1.
Вызывается, когда пользовательский интерфейс находится в состоянии ожидания.
-
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] -
Отключение обратного вызова с id cid
Примеры
Использование:
cid = canvas.mpl_connect('button_press_event', on_press) #...later canvas.mpl_disconnect(cid)
-
new_timer(*args, **kwargs)[source] -
Создаёт новый бэкенд-специфичный подкласс
backend_bases.Timer. Это полезно для получения периодических событий через встроенную в бэкенд петлю событий. Реализовано только для бэкендов с GUI.Другие параметры: -
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 устарела в версии 2.2.
Обработчик событий мыши, удаляющий верхний элемент под курсором. Подключите его к '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, **kwargs)[source] -
Вывод рисунка в растровый формат. Устанавливает цвета заливки и обводки области рисунка. Это полезно, так как некоторые GUI имеют серую заливку области рисунка, и, вероятно, вы захотите переопределить это при выводе в растровый формат.
Параметры: - 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 -
прямоугольник в дюймах. Сохраняется только указанная часть рисунка. Если '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] -
Освободить захват мыши, удерживаемый осями, ax. Обычно вызывается виджетами. Можно вызывать, даже если ax не имеет текущего захвата мыши.
-
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.Интерактивные бэкенды должны реализовывать этот метод более естественным способом.
-
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()[source] -
Остановить текущий блокирующий цикл обработки событий.
Интерактивные бэкенды должны переопределить этот метод, чтобы соответствовать
start_event_loop
-
stop_event_loop_default() -
Устарело начиная с версии 2.1: Функция stop_event_loop_default устарела в версии 2.1.
Остановить текущий блокирующий цикл обработки событий.
Интерактивные бэкенды должны переопределить этот метод, чтобы соответствовать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 устарела в версии 2.2.
Отобразить сообщение в всплывающем окне — только для 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_linestyle()[source] -
Устаревшее с версии 2.1: Функция get_linestyle устарела в версии 2.1.
Возвращает стиль линии ('solid', 'dashed', 'dashdot', 'dotted').
-
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] -
Возвращает параметр сетки, который может быть:
- 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_linestyle(style)[source] -
Устарело начиная с версии 2.1: Функция set_linestyle устарела в версии 2.1.
Установите стиль линии, который может быть ('solid', 'dashed', 'dashdot', 'dotted'). Эти значения определены в rcParams
lines.dashed_pattern,lines.dashdot_patternиlines.dotted_pattern. Можно также указать настраиваемые стили штриховки, предоставив кортеж (смещение, пары штрихов).
-
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.IdleEvent(**kwargs)[source] -
Основывается на
matplotlib.backend_bases.EventУстарело начиная с версии 2.1: Класс IdleEvent устарел в версии 2.1.
Событие, срабатывающее в GUI-бэкенде, когда он бездействует — полезно для пассивной анимации
-
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", "вверх", и т.д.) или комбинация вышеперечисленных (например, "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 = низ, слева
-
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)[source] -
Базы:
matplotlib.backend_bases.LocationEvent- Событие мыши ('button_press_event',
- 'button_release_event', 'scroll_event', 'motion_notify_event').
В дополнение к атрибутам
EventиLocationEvent, определены следующие атрибуты:Примеры
Использование:
def on_press(event): print('you pressed', event.button, event.xdata, event.ydata) cid = fig.canvas.mpl_connect('button_press_event', on_press)Атрибуты: -
button : None, scalar, or str -
Нажатая кнопка. None, 1, 2, 3, 'up', 'down' (up и down используются для событий прокрутки). Обратите внимание, что в nbagg-бекенде и средняя, и правая кнопки возвращают 3, так как нажатие правой кнопки вызывает контекстное меню в некоторых браузерах.
-
key : None, or str -
Ключ, нажатый при возникновении события мыши (см.
KeyEvent) -
step : scalar -
Количество шагов прокрутки (положительное для '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[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] -
Базовый класс для строчной области состояния
Базы:
object-
set_message(s)[source] -
Отобразить сообщение на панели инструментов или в строке состояния
Параметры: -
s : str -
Текст сообщения
-
-
-
class matplotlib.backend_bases.TimerBase(interval=None, callbacks=None)[source] -
Базовый класс для предоставления событий таймера, полезных для анимаций. Бэкэнды должны реализовать несколько конкретных методов, чтобы использовать свои собственные механизмы тайминга, чтобы события таймера были интегрированы в их циклы обработки событий.
Обязательные функции, которые необходимо реализовать:
-
_timer_start: Содержит код, специфичный для бэкэнда, для запуска таймера -
_timer_stop: Содержит код, специфичный для бэкэнда, для остановки таймера
Необязательные переопределения:
-
_timer_set_single_shot: Код для установки таймера в режим однократного запуска, если это поддерживается объектом таймера. Если нет, классTimerсам будет хранить флаг, и метод_on_timerдолжен быть переопределён для поддержки такого поведения. -
_timer_set_interval: Код для установки интервала таймера, если такой метод существует в объекте таймера. -
_on_timer: Внутренняя функция, которую должен вызывать любой объект таймера, которая будет обрабатывать задачу запуска всех установленных обратных вызовов.
Атрибуты: -
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/2.2.3/api/backend_bases_api.html