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, определены следующие атрибуты события:Атрибуты: -
rendererRendererBase -
отрисовщик для события рисования
-
-
class matplotlib.backend_bases.Event(name, canvas, guiEvent=None)[source] -
Bases:
objectСобытие matplotlib. Присоедините дополнительные атрибуты, как определено в
FigureCanvasBase.mpl_connect(). Следующие атрибуты определены и показаны со значениями по умолчаниюАтрибуты: -
namestr -
имя события
-
canvasFigureCanvasBase -
экземпляр холста бэкэнда, генерирующий событие
- guiEvent
-
событие GUI, которое вызвало событие matplotlib
-
-
class matplotlib.backend_bases.FigureCanvasBase(figure)[source] -
Bases:
objectПоверхность холста, на которую отрисовывается фигура.
Общедоступные атрибуты
Атрибуты: -
figurematplotlib.figure.Figure -
Экземпляр фигуры высокого уровня
-
blit(self, bbox=None)[source] -
Отрисовка холста в области bbox (по умолчанию весь холст).
-
Производные классы бэкенда должны вызывать эту функцию при любом нажатии кнопки мыши. (x, y) — координаты холста ((0, 0) — нижний левый угол). Кнопка и клавиша определяются в
MouseEvent.Этот метод вызовет все функции, подключенные к событию 'button_press_event', с экземпляром
MouseEvent.
-
Производные классы бэкенда должны вызывать эту функцию при любом отпускании кнопки мыши.
Этот метод вызовет все функции, подключенные к событию 'button_release_event', с экземпляром
MouseEvent.Параметры: -
xfloat -
Координаты холста, где 0=слева.
-
yfloat -
Координаты холста, где 0=снизу.
- guiEvent
-
Внутреннее событие пользовательского интерфейса, породившее событие Matplotlib.
-
-
close_event(self, guiEvent=None)[source] -
Передает
CloseEventвсем функциям, подключенным кclose_event.
-
draw(self, *args, **kwargs)[source] -
Отрисовка
Figure.
-
draw_cursor(self, event)[source] -
[Устаревшее] Отрисовка курсора в event.axes, если inaxes не равно None. Используйте нативное отображение GUI для повышения эффективности, если это возможно
Примечания
Устарело начиная с версии 3.2.
-
draw_event(self, renderer)[source] -
Передает
DrawEventвсем функциям, подключенным кdraw_event.
-
draw_idle(self, *args, **kwargs)[source] -
Запрашивает перерисовку виджета, когда управление возвращается циклу событий GUI.
Даже если несколько вызовов
draw_idleпроисходят до возвращения управления циклу событий GUI, фигура будет отрисована только один раз.Примечания
Бэкенды могут переопределить метод и реализовать свою стратегию для предотвращения многократной отрисовки.
-
enter_notify_event(self, guiEvent=None, xy=None)[source] -
Производные классы бэкенда должны вызывать эту функцию при входе в холст
Параметры: - guiEvent
-
Внутреннее событие пользовательского интерфейса, породившее событие Matplotlib.
-
xy(float, float) -
Координаты положения указателя при входе в холст.
-
events = ['resize_event', 'draw_event', 'key_press_event', 'key_release_event', 'button_press_event', 'button_release_event', 'scroll_event', 'motion_notify_event', 'pick_event', '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] -
Обработка событий GUI для фигуры.
Интерактивные бэкенды должны переопределить этот метод.
-
get_default_filename(self)[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(self)[source] -
Возвращает ширину и высоту фигуры в пунктах или пикселях (в зависимости от бэкенда), усечённые до целых чисел.
-
get_window_title(self)[source] -
Получение текста заголовка окна, содержащего фигуру. Возвращает None, если окна нет (например, для бэкенда PS).
-
grab_mouse(self, ax)[source] -
Устанавливает дочерние оси, которые в данный момент захватывают события мыши. Обычно вызывается самими виджетами. Вызов этого метода является ошибкой, если мышь уже захвачена другой осью.
-
-
inaxes(self, xy)[source] -
Возвращает самый верхний видимый
Axes, содержащий точку xy.Параметры: -
xytuple or list -
Координаты (x, y). Позиция x — пиксели от левой стороны холста. Позиция y — пиксели от нижней стороны холста.
Возвращает: -
axesAxes or None -
Самый верхний видимый объект осей, содержащий точку, или 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
-
Встроенное событие пользовательского интерфейса, которое сгенерировало событие Matplotlib.
-
motion_notify_event(self, x, y, guiEvent=None)[source] -
Классы, производные от бэкенда, должны вызывать эту функцию при любом событии motion-notify.
Этот метод вызовет все функции, подключённые к «motion_notify_event», с экземпляром
MouseEvent.Параметры: -
xfloat -
Координаты холста, где 0=слева.
-
yfloat -
Координаты холста, где 0=снизу.
- guiEvent
-
Встроенное событие пользовательского интерфейса, которое сгенерировало событие Matplotlib.
-
-
mpl_connect(self, s, func)[source] -
Привязывает функцию func к событию s.
Параметры: -
sstr -
Один из следующих идентификаторов событий:
- 'button_press_event'
- 'button_release_event'
- 'draw_event'
- 'key_press_event'
- 'key_release_event'
- 'motion_notify_event'
- 'pick_event'
- 'resize_event'
- 'scroll_event'
- 'figure_enter_event',
- 'figure_leave_event',
- 'axes_enter_event',
- 'axes_leave_event'
- 'close_event'.
-
funccallable -
Функция обратного вызова, которая должна иметь следующий вид:
def func(event: Event) -> Any
Для событий местоположения (нажатие и отпускание клавиш мыши), если курсор находится над областью, атрибут
inaxesсобытия будет установлен наAxes, над которой находится курсор, и, дополнительно, атрибутыxdataиydataбудут установлены на положение курсора в координатах данных. См.KeyEventиMouseEventдля получения дополнительной информации.
Возвращает: - cid
-
Идентификатор соединения, который можно использовать с
FigureCanvasBase.mpl_disconnect.
Примеры
def on_press(event): print('you pressed', event.button, event.xdata, event.ydata) cid = canvas.mpl_connect('button_press_event', on_press) -
-
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] -
Создаёт новый бэкенд-специфический подкласс
Timer.Это полезно для получения периодических событий через встроенный цикл событий бэкенда. Реализовано только для бэкендов с графическими интерфейсами.
Другие параметры: -
intervalscalar -
Интервал таймера в миллисекундах
-
callbacksList[Tuple[callable, Tuple, Dict]] -
Последовательность (func, args, kwargs), где
func(*args, **kwargs)будет выполняться таймером каждые interval.Обратные вызовы, которые возвращают
Falseили0, будут удалены из таймера.
Примеры
>>> timer = fig.canvas.new_timer(callbacks=[(f1, (1, ), {'a': 3}),]) -
-
pick(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] -
Рендеринг фигуры для печати. Устанавливает цвета заливки и обводки фигуры.
Это полезно, поскольку некоторые графические интерфейсы имеют серое фоновое изображение фигуры, и вам, вероятно, потребуется переопределить это при печати.
Параметры: - filename
-
также может быть объектом файла для бэкендов изображений
-
orientation{'landscape', 'portrait'}, default: 'portrait' -
в настоящее время применяется только к печати PostScript.
-
dpiscalar, optional -
точки на дюйм для сохранения изображения; если None, используется savefig.dpi
-
facecolorcolor, default: rcParams["savefig.facecolor"] (default: 'white') -
Цвет заливки фигуры.
-
edgecolorcolor, default: rcParams["savefig.edgecolor"] (default: 'white') -
Цвет обводки фигуры.
-
formatstr, optional -
Принудительный формат файла. Если не указан, формат определяется из расширения filename, а если это не удалось, из
rcParams["savefig.format"](по умолчанию: 'png'). -
bbox_inches'tight' or Bbox, default: rcParams["savefig.bbox"] (default: None) -
Область в дюймах. Сохраняется только указанная часть фигуры. Если 'tight', попытаться определить строгую область фигуры.
-
pad_inchesfloat, default: rcParams["savefig.pad_inches"] (default: 0.1) -
Значение отступа вокруг фигуры, когда bbox_inches равно 'tight'.
-
bbox_extra_artistslist of Artist, optional -
Список дополнительных элементов, которые будут учтены при вычислении строгой области.
-
-
release_mouse(self, ax)[source] -
Освободить захват мыши, удерживаемый осями, ax. Обычно вызывается виджетами. Можно вызывать это даже если у ax нет текущего захвата мыши.
-
required_interactive_framework = None
-
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.Если timeout равен 0 или меньше, ожидания не будет.
Только интерактивные бэкэнды должны переопределять этот метод, и он полагается на правильную реализацию
flush_events.Интерактивные бэкэнды должны реализовать это более естественным образом.
-
stop_event_loop(self)[source] -
Остановить текущий блокирующий цикл обработки событий.
Интерактивные бэкэнды должны переопределить его, чтобы соответствовать
start_event_loop.
-
supports_blit = False
-
switch_backends(self, FigureCanvasClass)[source] -
Создать экземпляр FigureCanvasClass
Это используется для переключения бэкэндов, например, для создания FigureCanvasPS из FigureCanvasGTK. Обратите внимание, что глубокое копирование не выполняется, поэтому любые изменения в одном из экземпляров (например, установка размера рисунка или свойств линии) будут отражены в другом.
-
-
class matplotlib.backend_bases.FigureManagerBase(canvas, num)[source] -
Bases:
objectАбстракция, независимая от бэкэнда, контейнера и контроллера фигур.
Менеджер фигур используется pyplot для взаимодействия с окном независимо от бэкэнда. Он является адаптером для реальной (GUI) среды, представляющей визуальную фигуру на экране.
GUI бэкэнды определяют класс отсюда, чтобы преобразовывать общие операции, такие как отображение или изменение размера, в код, специфичный для GUI. Бэкэнды без GUI не поддерживают эти операции и могут использовать только базовый класс.
Доступны следующие базовые операции:
Операции с окном
Обработка нажатий клавиш и кнопок мыши
Менеджер фигур настраивает обработку нажатий клавиш и кнопок мыши по умолчанию, подключив
key_press_handlerк системе событий matplotlib. Это гарантирует одинаковые сочетания клавиш и действия мыши во всех бэкендах.Другие операции
Подклассы будут иметь дополнительные атрибуты и функции для доступа к дополнительным возможностям. Это, конечно, зависит от бэкэнда. Например, большинство GUI бэкэндов имеют
windowиtoolbarатрибуты, которые обеспечивают доступ к нативным GUI виджетам соответствующей среды.Атрибуты: -
canvasFigureCanvasBase -
Инстанс холста, специфичный для бэкэнда.
-
numint or str -
Номер фигуры.
-
key_press_handler_idint -
Идентификатор обработчика по умолчанию для клавиш, при использовании toolmanager. Чтобы отключить обработку нажатия клавиш по умолчанию, используйте:
figure.canvas.mpl_disconnect( figure.canvas.manager.key_press_handler_id) -
button_press_handler_idint -
Идентификатор обработчика по умолчанию для кнопок мыши, при использовании toolmanager. Чтобы отключить обработку нажатия кнопок мыши по умолчанию, используйте:
figure.canvas.mpl_disconnect( figure.canvas.manager.button_press_handler_id)
-
Действия по умолчанию Matplotlib для дополнительных кнопок мыши.
-
destroy(self)[source]
-
full_screen_toggle(self)[source]
-
get_window_title(self)[source] -
Получить текст заголовка окна, содержащего фигуру.
Возвращает None для бэкэндов без GUI (например, PS).
-
key_press(self, event)[source] -
Реализует сочетания клавиш Matplotlib по умолчанию, определенные в Сочетания клавиш навигации.
-
resize(self, w, h)[source] -
Для GUI бэкэндов, изменить размер окна (в пикселях).
-
set_window_title(self, title)[source] -
Установить текст заголовка окна, содержащего фигуру.
Это не имеет эффекта для бэкэндов без GUI (например, PS).
-
show(self)[source] -
Для GUI бэкэндов, отобразить окно фигуры и перерисовать. Для бэкэндов без GUI, выбросить исключение, которое будет перехвачено
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 Blue Book для получения дополнительной информации.
Значение по умолчанию — (None, 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_paramstuple or None -
Кортеж из 3 элементов:
-
scale: Амплитуда волнообразности, перпендикулярной исходной линии. -
length: Длина волнообразности вдоль линии. -
randomness: Коэффициент масштабирования длины, уменьшающий или увеличивающий её.
Возвращает
None, если параметры наброска не были заданы. -
-
-
get_snap(self)[source] -
Возвращает настройку привязки:
- 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] -
Устанавливает путь обрезки и преобразование.
Параметры: -
pathTransformedPath or None
-
-
-
set_clip_rectangle(self, rectangle)[source] -
Установить область обрезки с последовательностью (слева, снизу, ширина, высота)
-
set_dashes(self, dash_offset, dash_list)[source] -
Установить стиль штриховки для gc.
Параметры: -
dash_offsetfloat or None -
Смещение (обычно 0).
-
dash_listarray-like or None -
Последовательность включения-выключения в виде точек.
Примечания
(None, None)определяет сплошную линию.См. стр. 107 книги PostScript синяя книга для получения дополнительной информации.
-
-
set_foreground(self, fg, isRGBA=False)[source] -
Установить цвет переднего плана.
Параметры: -
fgcolor -
isRGBAbool -
Если известно, что 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] -
Установить параметры наброска.
Параметры: -
scalefloat, optional -
Амплитуда колебаний перпендикулярно исходной линии в пикселях. Если масштаб
None, или не предоставлен, фильтр наброска не будет предоставлен. -
lengthfloat, default: 128 -
Длина колебания вдоль линии в пикселях.
-
randomnessfloat, default: 16 -
Коэффициент масштаба, с помощью которого длина уменьшается или увеличивается.
-
-
set_snap(self, snap)[source] -
Установить настройку "snap", которая может быть:
- 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)Атрибуты: -
keyNone or str -
нажатая(ые) клавиша(ы). Может быть None, одиночный символ ASCII в верхнем регистре ("g", "G", "#", и т.д.), специальная клавиша ("control", "shift", "f1", "up", и т.д.) или комбинация вышеперечисленного (например, "ctrl+alt+g", "ctrl+alt+G").
(x, y) в координатах фигуры ((0, 0) = нижний левый).
-
-
class matplotlib.backend_bases.LocationEvent(name, canvas, x, y, guiEvent=None)[source] -
Основан на
matplotlib.backend_bases.EventСобытие, имеющее экранное расположение.
Следующие дополнительные атрибуты определены и показаны со значениями по умолчанию.
В дополнение к атрибутам
Event, определены следующие атрибуты событий:Атрибуты: -
xint -
Положение x - пиксели от левой стороны холста.
-
yint -
Положение y - пиксели от нижней стороны холста.
-
inaxesAxes or None -
Экземпляр
Axes, над которым находится курсор, если таковой есть. -
xdatafloat or None -
Координата данных x мыши.
-
ydatafloat or None -
Координата данных y мыши.
(x, y) в координатах фигуры ((0, 0) = нижний левый).
-
lastevent = None
-
-
class matplotlib.backend_bases.MouseButton(value)[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] -
Базы:
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 будет той, которая физически расположена справа.
-
keyNone or str -
Нажатая клавиша при срабатывании события мыши, например, 'shift'. См.
KeyEvent. -
stepint -
Количество шагов прокрутки (положительное для 'up', отрицательное для 'down'). Это относится только к 'scroll_event' и по умолчанию равно 0 в противном случае.
-
dblclickbool -
Является ли событие двойным щелчком. Это относится только к 'button_press_event' и является False в противном случае. В частности, он не используется в 'button_release_event'.
(x, y) в координатах фигуры ((0, 0) = нижний левый) нажатая кнопка None, 1, 2, 3, 'up', 'down'
-
Bases:
objectБазовый класс для навигационной курсора, версия 2
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.Если это необходимо для бэкенда, этот метод должен инициировать обновление в цикле событий бэкенда после установки курсора, так как этот метод может вызываться, например, перед длительной задачей, во время которой графический интерфейс не обновляется.
-
Включить или выключить кнопки "Назад" / "Вперёд".
-
Отобразить сообщение на панели инструментов или в строке состояния.
-
Сбросить стек осей.
-
Активировать режим масштабирования по прямоугольнику.
-
-
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 точек
- 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)
Атрибуты: -
mouseeventMouseEvent -
событие мыши, которое сгенерировало выбор
-
artistmatplotlib.artist.Artist -
выбранный элемент
- other
-
дополнительные атрибуты, зависящие от класса — например, выбор
Line2Dможет определять разные дополнительные атрибуты, чем выборPatchCollectionсобытия
-
class matplotlib.backend_bases.RendererBase[source] -
Bases:
objectАбстрактный базовый класс для обработки операций рисования/рендеринга.
Следующие методы должны быть реализованы в бэкенде для полной функциональности (хотя только реализация
draw_path()даст высокоэффективный бэкенд):Следующие методы должны быть реализованы в бэкенде по причинам оптимизации:
-
close_group(self, s)[source] -
Закрыть элемент группировки с меткой s.
Используется только рендерером SVG.
-
draw_gouraud_triangle(self, gc, points, colors, transform)[source] -
Отрисовать треугольник с заливкой по методу Гуро.
Параметры: -
pointsarray-like, shape=(3, 2) -
Массив точек (x, y) для треугольника.
-
colorsarray-like, shape=(3, 4) -
RGBA цвета для каждой точки треугольника.
-
transformmatplotlib.transforms.Transform -
Аффинное преобразование, применяемое к точкам.
-
-
draw_gouraud_triangles(self, gc, triangles_array, colors_array, transform)[source] -
Отрисовать серию треугольников с заливкой по методу Гуро.
Параметры: -
pointsarray-like, shape=(N, 3, 2) -
Массив N точек (x, y) для треугольников.
-
colorsarray-like, shape=(N, 3, 4) -
Массив N RGBA цветов для каждой точки треугольников.
-
transformmatplotlib.transforms.Transform -
Аффинное преобразование, применяемое к точкам.
-
-
draw_image(self, gc, x, y, im, transform=None)[source] -
Отрисовать RGBA изображение.
Параметры: -
gcGraphicsContextBase -
Контекст графики с информацией о обрезке.
-
xscalar -
Расстояние в физических единицах (точках или пикселях) от левой стороны холста.
-
yscalar -
Расстояние в физических единицах (точках или пикселях) от нижней стороны холста.
-
imarray-like, shape=(N, M, 4), dtype=np.uint8 -
Массив RGBA пикселей.
-
transformmatplotlib.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()несколько раз. Некоторые бэкэнды могут захотеть переопределить этот метод, чтобы нарисовать маркер только один раз и использовать его несколько раз.Параметры: -
gcGraphicsContextBase -
Контекст графики.
-
marker_transmatplotlib.transforms.Transform -
Аффинное преобразование, применяемое к маркеру.
-
transmatplotlib.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] -
Отобразить текст.
Параметры: -
gcGraphicsContextBase -
Контекст графики.
-
xfloat -
Положение x текста в координатах отображения.
-
yfloat -
Положение y базовой линии текста в координатах отображения.
-
sstr -
Строка текста.
-
propmatplotlib.font_manager.FontProperties -
Свойства шрифта.
-
anglefloat -
Угол поворота в градусах против часовой стрелки.
-
mtextmatplotlib.text.Text -
Оригинальный объект текста для отрисовки.
Примечания
Примечание для разработчиков бэкендов:
При попытке определить, правильно ли вы определили прямоугольник обводки (что позволяет правильно работать с выкладкой/выравниванием текста), полезно изменить строку в файле text.py:
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 (если задано) в качестве id.
Используется только рендером SVG.
-
option_image_nocomposite(self)[source] -
Возвращает, должен ли быть пропущен состав изображений Matplotlib.
Векторные бэкэнды обычно должны возвращать
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 * dpi/72
Параметры: -
pointsfloat 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определены следующие атрибуты события:Атрибуты: -
widthint -
Ширина холста в пикселях.
-
heightint -
Высота холста в пикселях.
-
-
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] -
Отображение сообщения в панели инструментов или области состояния.
Параметры: -
sstr -
Текст сообщения.
-
-
-
class matplotlib.backend_bases.TimerBase(interval=None, callbacks=None)[source] -
Bases:
objectБазовый класс для предоставления событий таймера, полезных для анимаций. Бэкэнды должны реализовывать несколько определенных методов, чтобы использовать собственные механизмы тайминга, так что события таймера интегрируются в их циклы обработки событий.
Подклассы должны переопределять следующие методы:
-
_timer_start: Код бэкэнда для запуска таймера. -
_timer_stop: Код бэкэнда для остановки таймера.
Подклассы могут дополнительно переопределять следующие методы:
-
_timer_set_single_shot: Код для установки таймера в режим однократного запуска (если поддерживается объектом таймера). Если нет, классTimerсам будет хранить флаг, и метод_on_timerдолжен быть переопределен для поддержки такого поведения. -
_timer_set_interval: Код для установки интервала таймера, если существует соответствующий метод для объекта таймера. -
_on_timer: Внутренняя функция, которую любой объект таймера должен вызывать, которая будет обрабатывать задачу запуска всех зарегистрированных обратных вызовов.
Атрибуты: -
intervalscalar -
Время между событиями таймера в миллисекундах. По умолчанию 1000 мс.
-
single_shotbool -
Флаг, указывающий, должен ли таймер работать в режиме однократного запуска (один раз и остановить). По умолчанию
False. -
callbacksList[Tuple[callable, Tuple, Dict]] -
Хранит список кортежей (func, args, kwargs), которые будут вызываться при событиях таймера. Этот список можно изменять напрямую, или можно использовать функции
add_callbackиremove_callback.
-
add_callback(self, func, *args, **kwargs)[source] -
Регистрирует func для вызова таймером при возникновении события. Любые дополнительные аргументы будут переданы в func.
Эта функция возвращает func, что позволяет использовать её как декоратор.
-
property interval
-
remove_callback(self, func, *args, **kwargs)[source] -
Удаляет func из списка обратных вызовов.
args и kwargs являются необязательными и используются для различения копий одной и той же функции, зарегистрированной для вызова с различными аргументами. Это поведение устарело. В будущем,
*args, **kwargsбольше не будет учитываться; чтобы сохранить возможность удаления определенного обратного вызова самостоятельно, передайте его вadd_callbackкак объектfunctools.partial.
-
property single_shot
-
start(self, interval=None)[source] -
Запустить объект таймера.
Параметры: -
intervalint, optional -
Интервал таймера в миллисекундах; переопределяет ранее установленный интервал, если предоставлен.
-
-
stop(self)[source] -
Остановить таймер.
-
-
class matplotlib.backend_bases.ToolContainerBase(toolmanager)[source] -
Bases:
objectБазовый класс для всех контейнеров инструментов, например, панелей инструментов.
Атрибуты: -
toolmanagerToolManager -
Инструменты, с которыми этот
ToolContainerхочет взаимодействовать.
-
add_tool(self, tool, group, position=- 1)[source] -
Добавляет инструмент в этот контейнер
Параметры: -
tooltool_like -
Инструмент для добавления, см.
ToolManager.get_tool. -
groupstr -
Название группы, в которую нужно добавить этот инструмент.
-
positionint (optional) -
Позиция в группе для размещения этого инструмента. По умолчанию — конец.
-
-
add_toolitem(self, name, group, position, image, description, toggle)[source] -
Добавить элемент инструмента в контейнер
Этот метод должен быть реализован для каждого бэкенда
Обработчик события нажатия на кнопку должен быть **ТОЧНО**
self.trigger_tool(name)Параметры: -
namestr -
Название инструмента для добавления, это используется в качестве идентификатора инструмента и по умолчанию как метки кнопок
-
groupString -
Название группы, к которой принадлежит этот инструмент
-
positionInt -
Позиция инструмента в его группе, если -1, он размещается в конце
-
image_fileString -
Имя файла изображения для кнопки или
None -
descriptionString -
Описание инструмента, используемое для подсказок
-
toggleBool
-
-
remove_toolitem(self, name)[source] -
Удалить элемент инструмента из
ToolContainer.Этот метод должен быть реализован для каждого бэкенда.
Вызывается, когда
ToolManagerгенерирует событиеtool_removed_event.Параметры: -
namestr -
Имя инструмента для удаления.
-
-
toggle_toolitem(self, name, toggled)[source] -
Переключить элемент инструмента без срабатывания события
Параметры: -
nameString -
Идентификатор инструмента, который нужно переключить
-
toggledbool -
Установить этот инструмент как переключенный или нет.
-
-
trigger_tool(self, name)[source] -
Вызвать инструмент
Параметры: -
namestr -
Имя (идентификатор) инструмента, вызванного внутри контейнера.
-
-
Действия по умолчанию Matplotlib для дополнительных кнопок мыши.
-
matplotlib.backend_bases.get_registered_canvas_class(format)[source] -
Возвращает зарегистрированный по умолчанию холст для данного формата файла. Обрабатывает отложенный импорт требуемого бэкенда.
-
matplotlib.backend_bases.key_press_handler(event, canvas, toolbar=None)[source] -
Реализует стандартные сочетания клавиш Matplotlib для холста и панели инструментов, описанные в Краткая справка по навигации по клавиатуре.
Параметры: -
eventKeyEvent -
событие нажатия/отпускания клавиши
-
canvasFigureCanvasBase -
экземпляр холста, специфичный для бэкенда
-
toolbarNavigationToolbar2 -
панель инструментов навигатора курсора
-
-
matplotlib.backend_bases.register_backend(format, backend, description=None)[source] -
Регистрация бэкенда для сохранения в заданном формате файла.
Параметры: -
formatstr -
Расширение файла
-
backendmodule string or canvas class -
Бэкенд для обработки вывода файла
-
descriptionstr, default: "" -
Описание типа файла.
-
END_OF_DOCUMENT_MARKER© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.2.2/api/backend_bases_api.html -