Spec-Zone.ru › Matplotlib 3.8

matplotlib.backend_bases

Абстрактные базовые классы определяют примитивы, которые должны реализовать рендереры и графические контексты, чтобы служить бэкэндом Matplotlib.

RendererBase

Абстрактный базовый класс для обработки операций рисования/рендеринга.

FigureCanvasBase

Уровень абстракции, который отделяет Figure от бэкэнд-специфичных деталей, таких как область рисования пользовательского интерфейса.

GraphicsContextBase

Абстрактный базовый класс, предоставляющий цвет, стили линий и т.д.

Event

Базовый класс для обработки всех событий Matplotlib. Производные классы, такие как KeyEvent и MouseEvent, хранят метаданные, такие как нажатые клавиши и кнопки, координаты x и y в пикселях и координатах Axes.

ShowBase

Базовый класс для класса Show каждого интерактивного бэкэнда; вызываемый метод 'show' затем устанавливается в Show.__call__.

ToolContainerBase

Базовый класс для класса панели инструментов каждого интерактивного бэкэнда.

classmatplotlib.backend_bases.CloseEvent(name, canvas, guiEvent=None)[source]

Bases: Event

Событие, срабатывающее при закрытии фигуры.

classmatplotlib.backend_bases.DrawEvent(name, canvas, renderer)[source]

Bases: Event

Событие, срабатывающее при операции рисования на холсте.

В большинстве бэкэндов обратные вызовы, подписные на это событие, будут вызываться после завершения рендеринга, но перед обновлением экрана. Любые дополнительные элементы, нарисованные на рендере холста, будут отображаться без явного вызова blit.

Предупреждение

Вызов canvas.draw и canvas.blit в этих обратных вызовах может быть небезопасным для всех бэкэндов и может вызвать бесконечную рекурсию.

У DrawEvent есть ряд специальных атрибутов помимо тех, которые определены родительским классом Event.

Атрибуты:
rendererRendererBase

Рендерер для события рисования.

classmatplotlib.backend_bases.Event(name, canvas, guiEvent=None)[source]

Bases: object

Событие Matplotlib.

Ниже приведены атрибуты и их значения по умолчанию. Дочерние классы могут определить дополнительные атрибуты.

Атрибуты:
namestr

Название события.

canvasFigureCanvasBase

Экземпляр бэкэнд-специфичного холста, генерирующего событие.

guiEvent

Событие графического интерфейса, которое вызвало событие Matplotlib.

propertyguiEvent
END_OF_DOCUMENT_MARKER
классmatplotlib.backend_bases.FigureCanvasBase(figure=None)[source]

Базы: object

Поверхность холста, на которую отрисовывается фигура.

Атрибуты:
figureFigure

Экземпляр фигуры высокого уровня.

blit(bbox=None)[source]

Обновление (blit) холста в области bbox (по умолчанию - весь холст).

свойствоbutton_pick_id
свойствоcallbacks
свойствоdevice_pixel_ratio

Соотношение физических и логических пикселей холста на экране.

По умолчанию, это 1, что означает, что физические и логические пиксели имеют одинаковый размер. Подклассы, поддерживающие экраны с высоким разрешением, могут установить это свойство, чтобы указать, что это соотношение отличается. Все взаимодействия Matplotlib, кроме работы непосредственно с холстом, остаются в логических пикселях.

draw(*args, **kwargs)[source]

Отрисовка Figure.

Этот метод должен пройти по дереву элементов, даже если вывод не генерируется, потому что он инициирует отложенную работу, к которой пользователи могут получить доступ до сохранения вывода на диск. Например, вычисление пределов, автоматических пределов и значений делений.

draw_idle(*args, **kwargs)[source]

Запрос перерисовки виджета после возвращения управления циклу событий GUI.

Даже если несколько вызовов draw_idle происходят до возвращения управления циклу событий GUI, фигура будет отрисована только один раз.

Примечания

Модули могут переопределять метод и реализовывать свою стратегию для предотвращения многократной отрисовки.

events=['resize_event', 'draw_event', 'key_press_event', 'key_release_event', 'button_press_event', 'button_release_event', 'scroll_event', 'motion_notify_event', 'pick_event', 'figure_enter_event', 'figure_leave_event', 'axes_enter_event', 'axes_leave_event', 'close_event']
filetypes={'eps': 'Векторный PostScript', 'jpeg': 'Joint Photographic Experts Group', 'jpg': 'Joint Photographic Experts Group', 'pdf': 'Portable Document Format', 'pgf': 'PGF-код для LaTeX', 'png': 'Portable Network Graphics', 'ps': 'PostScript', 'raw': 'Необработанное RGBA-растровое изображение', 'rgba': 'Необработанное RGBA-растровое изображение', 'svg': 'Scalable Vector Graphics', 'svgz': 'Scalable Vector Graphics', 'tif': 'Tagged Image File Format', 'tiff': 'Tagged Image File Format', 'webp': 'WebP Image Format'}
fixed_dpi=None
flush_events()[source]

Очистка событий GUI для фигуры.

Интерактивные интерфейсы должны переопределить этот метод.

get_default_filename()[source]

Возвращает строку, включая расширение, подходящую в качестве имени файла по умолчанию.

класс-методget_default_filetype()[source]

Возвращает формат файла сохранения по умолчанию, как указано в rcParams["savefig.format"] (по умолчанию: 'png').

Возвращаемая строка не включает точку. Этот метод переопределяется в модулях, которые поддерживают только один тип файла.

класс-методget_supported_filetypes()[source]

Возвращает словарь поддерживаемых форматов сохранения фигуры этим модулем.

класс-методget_supported_filetypes_grouped()[source]

Возвращает словарь поддерживаемых форматов сохранения фигуры этим модулем, где ключи — имена форматов, такие как «Joint Photographic Experts Group», а значения — список расширений файлов для данного формата, например, ['jpg', 'jpeg'].

get_width_height(*, physical=False)[source]

Возвращает ширину и высоту фигуры в целых точках или пикселях.

При использовании фигуры на экранах с высоким разрешением (и если модуль его поддерживает), усечение до целых чисел происходит после масштабирования с помощью коэффициента разрешения устройства.

Параметры:
physicalbool, по умолчанию: False

Возвращать ли истинные физические пиксели или логические пиксели. Физические пиксели могут использоваться модулями, которые поддерживают HiDPI, но все равно конфигурируют холст с использованием его фактического размера.

Возвращает:
width, heightint

Размер фигуры в точках или пикселях, в зависимости от модуля.

grab_mouse(ax)[source]

Устанавливает дочерний Axes, который получает события мыши.

Обычно вызывается самими виджетами. Вызов этого метода при уже захваченной мыши другим Axes является ошибкой.

END_OF_DOCUMENT_MARKER
inaxes(xy)[source]

Возвращает самый верхний видимый Axes, содержащий точку xy.

Параметры:
xy(float, float)

(x, y) пиксельные координаты с левого/нижнего края холста.

Возвращает:
Axes или None

Самый верхний видимый объект Axes, содержащий точку, или None, если в точке нет Axes.

is_saving()[source]

Возвращает значение, указывающее, находится ли рендерер в процессе сохранения в файл, а не рендеринга для буфера на экране.

manager_class[source]

Псевдоним для FigureManagerBase.

mpl_connect(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

Для событий расположения (нажатия и отпускания кнопок мыши и нажатия/отпускания клавиш), если курсор находится над Axes, атрибут inaxes события будет установлен на Axes, над которым произошло событие, и дополнительно атрибуты xdata и ydata будут установлены на координаты мыши в координатах данных. См. KeyEvent и MouseEvent для получения дополнительной информации.

Примечание

Если func — метод, сохраняется только слабая ссылка на метод. Таким образом, фигура не влияет на время жизни связанного объекта. Обычно вы хотите убедиться, что объект остается активным в течение всего жизненного цикла фигуры, удерживая ссылку на него.

Возвращает:
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(cid)[source]

Отключает обратный вызов с идентификатором cid.

Примеры

cid = canvas.mpl_connect('button_press_event', on_press)
# ... later
canvas.mpl_disconnect(cid)
classmethodnew_manager(figure, num)[source]

Создаёт новый менеджер фигур для figure, используя этот класс холста.

Примечания

Этот метод не должен переопределяться в подклассах. Если необходима настройка создания менеджера, переопределите FigureManager.create_with_canvas.

new_timer(interval=None, callbacks=None)[source]

Создаёт новый подкласс Timer, специфичный для бэкенда.

Это полезно для получения периодических событий через встроенный цикл событий бэкенда. Реализовано только для бэкендов с графическими интерфейсами.

Параметры:
intervalint

Интервал таймера в миллисекундах.

callbackslist[tuple[callable, tuple, dict]]

Последовательность (func, args, kwargs), где func(*args, **kwargs) будет выполняться таймером каждые interval.

Обратные вызовы, возвращающие False или 0, будут удалены из таймера.

Примеры

>>> timer = fig.canvas.new_timer(callbacks=[(f1, (1,), {'a': 3})])
print_figure(filename, dpi=None, facecolor=None, edgecolor=None, orientation='portrait', format=None, *, bbox_inches=None, pad_inches=None, bbox_extra_artists=None, backend=None, **kwargs)[source]

Отобразить рисунок на носитель. Задайте цвета заливки и обводки области рисунка. Это полезно, поскольку некоторые графические интерфейсы имеют серый цвет фона области рисунка, и вы, вероятно, захотите переопределить его для печатных материалов.

Параметры:
filenameстрока или объект пути или файл-подобный объект

Файл, куда сохраняется рисунок.

dpiвещественное число, по умолчанию: rcParams["savefig.dpi"] (по умолчанию: 'figure')

Точек на дюйм для сохранения рисунка.

facecolorцвет или 'auto', по умолчанию: rcParams["savefig.facecolor"] (по умолчанию: 'auto')

Цвет заливки области рисунка. Если 'auto', используется текущий цвет заливки области рисунка.

edgecolorцвет или 'auto', по умолчанию: rcParams["savefig.edgecolor"] (по умолчанию: 'auto')

Цвет обводки области рисунка. Если 'auto', используется текущий цвет обводки области рисунка.

orientation{'landscape', 'portrait'}, по умолчанию: 'portrait'

Применяется только к печати PostScript.

formatстрока, необязательно

Принудительно использовать определенный формат файла. Если не указан, формат определяется по расширению файла filename, и если это не удается, по rcParams["savefig.format"] (по умолчанию: 'png').

bbox_inches'tight' или Bbox, по умолчанию: rcParams["savefig.bbox"] (по умолчанию: None)

Прямоугольник обрезки в дюймах: сохраняется только указанная часть рисунка. Если 'tight', попытаться определить прямоугольник обрезки рисунка.

pad_inchesвещественное число или 'layout', по умолчанию: rcParams["savefig.pad_inches"] (по умолчанию: 0.1)

Размер отступа в дюймах вокруг рисунка, когда bbox_inches равен 'tight'. Если 'layout', используйте отступ из управляемого или сжатого макета; игнорируется, если один из этих движков не используется.

bbox_extra_artistsсписок Artist, необязательно

Список дополнительных элементов, которые будут учитываться при расчете прямоугольника обрезки.

backendстрока, необязательно

Используйте нестандартный движок для отображения файла, например, для отображения png-файла с движком "cairo" вместо стандартного "agg" или pdf-файла с движком "pgf" вместо стандартного "pdf". Обратите внимание, что стандартный движок обычно достаточен. См. Встроенные движки для списка допустимых движков для каждого формата файла. К пользовательским движкам можно обращаться как "module://...".

release_mouse(ax)[source]

Освободить захват мыши, удерживаемый элементом Axes ax.

Обычно вызывается виджетами. Хорошо вызывать его, даже если ax не имеет захвата мыши в данный момент.

required_interactive_framework=None
propertyscroll_pick_id
set_cursor(cursor)[source]

Установить текущий курсор.

Это может не иметь никакого эффекта, если движок не отображает ничего.

Если это требуется движком, этот метод должен вызвать обновление в цикле событий движка после установки курсора, так как этот метод может вызываться, например, перед длительной задачей, во время которой графический интерфейс не обновляется.

Параметры:
cursorCursors

Курсор, который нужно отобразить над холстом. Примечание: некоторые движки могут изменить курсор для всего окна.

start_event_loop(timeout=0)[source]

Запустить блокирующий цикл событий.

Такой цикл событий используется интерактивными функциями, такими как ginput и waitforbuttonpress, для ожидания событий.

Цикл событий блокируется до тех пор, пока функция обратного вызова не вызовет stop_event_loop, или не истечёт время ожидания timeout.

Если timeout равен 0 или меньше, ожидания не происходит.

Только интерактивные движки должны переопределять этот метод и полагаются на правильную реализацию flush_events.

Интерактивные движки должны реализовывать это более нативным способом.

stop_event_loop()[source]

Остановить текущий блокирующий цикл событий.

Интерактивные движки должны переопределить этот метод, чтобы соответствовать start_event_loop

supports_blit=False
switch_backends(FigureCanvasClass)[source]

[Устаревший] Создать экземпляр FigureCanvasClass

Используется для переключения движков, например, для создания FigureCanvasPS из FigureCanvasGTK. Обратите внимание, что глубокое копирование не выполняется, поэтому любые изменения в одном из экземпляров (например, установка размера рисунка или свойств линии) будут отражены в другом

Примечания

Устарело начиная с версии 3.8.

classmatplotlib.backend_bases.FigureManagerBase(canvas, num)[source]

Базы: object

Абстракция, независимая от бэкенда, контейнера и контроллера фигур.

Менеджер фигур используется pyplot для взаимодействия с окном независимо от бэкенда. Это адаптер для реальной (GUI) среды, представляющей визуальную фигуру на экране.

Менеджер фигур подключен к конкретному экземпляру холста, который, в свою очередь, подключен к конкретному экземпляру фигуры. Для доступа к менеджеру фигур для данной фигуры в пользовательском коде обычно используется fig.canvas.manager.

GUI-бэкенды наследуются от этого класса для перевода общих операций, таких как show или resize, на код, специфичный для GUI. GUI-бэкенды не поддерживают эти операции и могут просто использовать базовый класс.

Доступны следующие базовые операции:

Операции с окном

  • show
  • destroy
  • full_screen_toggle
  • resize
  • get_window_title
  • set_window_title

Обработка нажатий клавиш и кнопок мыши

Менеджер фигур устанавливает обработку нажатий клавиш и кнопок мыши по умолчанию, подключив key_press_handler к системе событий matplotlib. Это гарантирует одинаковые сочетания клавиш и действия мыши во всех бэкендах.

Другие операции

Подклассы будут иметь дополнительные атрибуты и функции для доступа к дополнительным функциям. Это, конечно, зависит от бэкенда. Например, большинство GUI-бэкендов имеют атрибуты window и toolbar, которые обеспечивают доступ к нативным виджетам GUI соответствующей среды.

Атрибуты:
canvasFigureCanvasBase

Экземпляр холста, специфичный для бэкенда.

numint или 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)
classmethodcreate_with_canvas(canvas_class, figure, num)[source]

Создать менеджер для заданной figure с использованием определенного canvas_class.

Бэкенды должны переопределять этот метод, если им нужны особые потребности для настройки холста или менеджера.

destroy()[source]
full_screen_toggle()[source]
get_window_title()[source]

Возвращает текст заголовка окна, содержащего фигуру, или None, если окно отсутствует (например, бэкенд PS).

classmethodpyplot_show(*, block=None)[source]

Отобразить все фигуры. Этот метод является реализацией pyplot.show.

Чтобы настроить поведение pyplot.show, интерактивные бэкенды обычно должны переопределять start_main_loop; если нужна более настраиваемая логика, pyplot_show также можно переопределить.

Параметры:
blockbool, необязательно

Блокировать ли, вызывая start_main_loop. По умолчанию, None, означает блокировку, если мы не находимся в режиме IPython's %pylab или в режиме interactive.

resize(w, h)[source]

Для GUI-бэкендов изменить размер окна (в пикселях).

set_window_title(title)[source]

Установить текст заголовка окна, содержащего фигуру.

Это не имеет эффекта для бэкендов, не относящихся к GUI (например, PS).

Примеры

>>> fig = plt.figure()
>>> fig.canvas.manager.set_window_title('My figure')
show()[source]

Для GUI-бэкендов отобразить окно фигуры и перерисовать. Для бэкендов, не относящихся к GUI, вызовите исключение, если не выполняется в режиме headless (т. е. на Linux без установленного DISPLAY); это исключение преобразуется в предупреждение в Figure.show.

classmethodstart_main_loop()[source]

Запустить основной цикл событий.

Этот метод вызывается FigureManagerBase.pyplot_show, который является реализацией pyplot.show. Чтобы настроить поведение pyplot.show, интерактивные бэкенды обычно должны переопределять start_main_loop; если нужна более настраиваемая логика, pyplot_show также можно переопределить.

classmatplotlib.backend_bases.GraphicsContextBase[source]

Bases: object

Абстрактный базовый класс, предоставляющий цвет, стили линий и т. д.

copy_properties(gc)[source]

Копирует свойства из gc в self.

get_alpha()[source]

Возвращает значение альфа-канала, используемого для смешивания. Не поддерживается во всех бэкендах.

get_antialiased()[source]

Возвращает значение, указывающее, должен ли объект выполнять антиалиасинговое рендеринг.

get_capstyle()[source]

Возвращает значение CapStyle.

get_clip_path()[source]

Возвращает путь обрезки в виде (path, transform), где path — экземпляр Path, а transform — аффинное преобразование, применяемое к пути перед обрезкой.

get_clip_rectangle()[source]

Возвращает прямоугольник обрезки в виде экземпляра Bbox.

get_dashes()[source]

Возвращает стиль штриховки в виде пары (смещение, список штрихов).

См. set_dashes для подробностей.

Значение по умолчанию — (None, 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]

Возвращает значение JoinStyle.

get_linewidth()[source]

Возвращает ширину линии в пунктах.

get_rgb()[source]

Возвращает кортеж из трёх или четырёх чисел с плавающей точкой от 0 до 1.

get_sketch_params()[source]

Возвращает параметры наброска для художника.

Возвращаемое значение:
кортеж или None

Кортеж из 3 элементов:

  • scale: Амплитуда колебания перпендикулярно исходной линии.
  • length: Длина колебания вдоль линии.
  • randomness: Коэффициент масштабирования, определяющий сжатие или расширение длины.

Может вернуть None, если параметры наброска не были установлены.

get_snap()[source]

Возвращает настройку snap, которая может быть:

  • True: вершины привязываются к ближайшему центру пикселя
  • False: вершины остаются как есть
  • None: (автоматически) если путь содержит только прямолинейные отрезки, вершины округляются до ближайшего центра пикселя
get_url()[source]

Возвращает URL, если он задан, иначе None.

restore()[source]

Восстановить графический контекст из стека — необходимо только для бэкендов, которые сохраняют графические контексты в стеке.

set_alpha(alpha)[source]

Установить значение альфа-канала, используемое для смешивания — не поддерживается во всех бэкендах.

Если alpha=None (значение по умолчанию), компоненты альфа-канала цветов переднего плана и заливки будут использоваться для установки их соответствующей прозрачности (если применимо); в противном случае, alpha переопределят их.

set_antialiased(b)[source]

Установить, нужно ли рисовать объекты с антиалиасингом.

set_capstyle(cs)[source]

Установить способ рисования конечных точек линий.

Параметры:
csCapStyle или {'butt', 'projecting', 'round'}
set_clip_path(path)[source]

Установить путь обрезки на TransformedPath или None.

set_clip_rectangle(rectangle)[source]

Установить прямоугольник обрезки на Bbox или None.

set_dashes(dash_offset, dash_list)[source]

Установить стиль штриховки для графического контекста.

Параметры:
dash_offsetfloat

Расстояние в пунктах до начала шаблона штриховки. Обычно устанавливается в 0.

dash_listпоследовательность или None

Последовательность чередующихся длин штрихов и пробелов в пунктах. None задаёт сплошную линию. Все значения должны быть неотрицательными (\(\ge 0\)).

Примечания

См. стр. 666 руководства PostScript Language Reference для получения дополнительной информации.

set_foreground(fg, isRGBA=False)[source]

Установить цвет переднего плана.

Параметры:
fgцвет
isRGBAbool

Если известно, что fg является кортежем (r, g, b, a), isRGBA можно установить в True для повышения производительности.

set_gid(id)[source]

Установить идентификатор.

set_hatch(hatch)[source]

Установить стиль штриховки (для заливки).

set_hatch_color(hatch_color)[source]

Установить цвет штриховки.

set_joinstyle(js)[source]

Установить способ соединения сегментов линий.

Параметры:
jsJoinStyle или {'miter', 'round', 'bevel'}
set_linewidth(w)[source]

Установить ширину линии в пунктах.

set_sketch_params(scale=None, length=None, randomness=None)[source]

Установить параметры "наброска".

Параметры:
scalefloat, необязательно

Амплитуда колебаний перпендикулярно исходной линии в пикселях. Если scale равен None, или не предоставлен, фильтр "наброска" не будет применён.

lengthfloat, по умолчанию: 128

Длина колебаний вдоль линии в пикселях.

randomnessfloat, по умолчанию: 16

Коэффициент масштабирования, по которому длина сжимается или расширяется.

set_snap(snap)[source]

Установите параметр привязки, который может быть:

  • True: привязывать вершины к ближайшему центру пикселя
  • False: оставить вершины как есть
  • None: (авто) Если путь содержит только прямолинейные отрезки, округлять до ближайшего центра пикселя
set_url(url)[source]

Установите URL для ссылок в совместимых бэкэндах.

classmatplotlib.backend_bases.KeyEvent(name, canvas, key, x=0, y=0, guiEvent=None)[source]

Bases: LocationEvent

Событие нажатия клавиши (ввода или отпускания).

В событии KeyEvent присутствует ряд специальных атрибутов помимо тех, что определены родительскими классами 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 или str

Нажатая(ые) клавиша(ы). Может быть None, одиночный регистрозависимый символ Unicode ("g", "G", "#", и т.д.), специальная клавиша ("control", "shift", "f1", "up", и т.д.) или сочетание вышеперечисленного (например, "ctrl+alt+g", "ctrl+alt+G").

classmatplotlib.backend_bases.LocationEvent(name, canvas, x, y, guiEvent=None, *, modifiers=None)[source]

Bases: Event

Событие, имеющее экранное расположение.

В LocationEvent присутствует ряд специальных атрибутов помимо тех, что определены родительским классом Event.

Атрибуты:
x, yint или None

Расположение события в пикселях от нижнего левого угла холста.

inaxesAxes или None

Объект Axes, над которым находится курсор, если таковой имеется.

xdata, ydatafloat или None

Координаты данных курсора внутри inaxes, или None, если курсор не находится над областью Axes.

modifiersfrozenset

Нажатые клавиши-модификаторы (кроме KeyEvent).

lastevent=<matplotlib.backend_bases.MouseEvent object>[source]
classmatplotlib.backend_bases.MouseButton(value, names=None, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

BACK=8[source]
FORWARD=9[source]
LEFT=1[source]
MIDDLE=2[source]
RIGHT=3[source]
classmatplotlib.backend_bases.MouseEvent(name, canvas, x, y, button=None, key=None, step=0, dblclick=False, guiEvent=None, *, modifiers=None)[source]

Bases: LocationEvent

Событие мыши ('button_press_event', 'button_release_event', 'scroll_event', 'motion_notify_event').

У объекта MouseEvent есть ряд специальных атрибутов помимо тех, что определены родительскими классами 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)
Атрибуты:
buttonNone или MouseButton или {'up', 'down'}

Нажатая кнопка. 'up' и 'down' используются для событий прокрутки.

Обратите внимание, что LEFT и RIGHT фактически относятся к "первичной" и "вторичной" кнопкам, т.е. если пользователь инвертирует свои левую и правую кнопки ("леворукое положение"), то кнопка LEFT будет той, которая физически находится справа.

Если это не задано, name — "scroll_event", и step — не равно нулю, то это будет установлено в "up" или "down" в зависимости от знака step.

keyNone или str

Нажатая клавиша, когда произошло событие мыши, например, 'shift'. См. KeyEvent.

Предупреждение

Эта клавиша в настоящее время получена из последнего 'key_press_event' или 'key_release_event', произошедшего в области рисования. Таким образом, если последнее изменение состояния клавиатуры произошло, когда область рисования не имела фокуса, этот атрибут будет неверным. С другой стороны, атрибут modifiers всегда должен быть правильным, но он может сообщать только о модификаторах клавиш.

stepfloat

Количество шагов прокрутки (положительное для 'up', отрицательное для 'down'). Это относится только к 'scroll_event' и по умолчанию равно 0 в других случаях.

dblclickbool

Является ли событие двойным щелчком. Это относится только к 'button_press_event' и по умолчанию False в других случаях. В частности, оно не используется в 'button_release_event'.

classmatplotlib.backend_bases.NavigationToolbar2(canvas)[source]

Bases: object

Базовый класс для курсора навигации, версия 2.

Бэкэнды должны реализовать холст, который обрабатывает соединения для событий 'button_press_event' и 'button_release_event'. Подробнее см. FigureCanvasBase.mpl_connect().

Они также должны определить

save_figure()

Сохранить текущую фигуру.

draw_rubberband() (необязательно)

Отобразить прямоугольник "резинки" для масштабирования.

set_message() (необязательно)

Отобразить сообщение.

set_history_buttons() (необязательно)

Можно изменить кнопки истории "назад" / "вперед", чтобы указать состояние "отключено" / "включено".

и переопределить __init__, чтобы настроить панель инструментов — не забывая вызвать init базового класса. Как правило, __init__ необходимо настроить кнопки панели инструментов, связанные с методами home, back, forward, pan, zoom и save_figure, и использовать стандартные значки в подкаталоге "images" пути к данным.

Всё, остальное сделаем!

back(*args)[source]

Перейти на предыдущий уровень стека пределов отображения.

Для удобства прямого подключения в качестве обратного вызова GUI, которому часто передаются дополнительные параметры, этот метод принимает произвольные параметры, но не использует их.

configure_subplots(*args)[source]
drag_pan(event)[source]

Обработчик перетаскивания в режиме панорамирования/масштабирования.

drag_zoom(event)[source]

Обработчик перетаскивания в режиме масштабирования.

draw_rubberband(event, x0, y0, x1, y1)[source]

Отрисовать прямоугольник резинки, чтобы указать пределы масштабирования.

Обратите внимание, что не гарантируется, что x0 <= x1 и y0 <= y1.

forward(*args)[source]

Перейти вперёд в стеке пределов отображения.

Для удобства прямого подключения в качестве обратного вызова GUI, которому часто передаются дополнительные параметры, этот метод принимает произвольные параметры, но не использует их.

home(*args)[source]

Восстановить исходный вид.

Для удобства прямого подключения в качестве обратного вызова GUI, которому часто передаются дополнительные параметры, этот метод принимает произвольные параметры, но не использует их.

mouse_move(event)[source]
pan(*args)[source]

Переключить инструмент панорамирования/масштабирования.

Панорамирование левой кнопкой, масштабирование правой.

press_pan(event)[source]

Обработчик нажатия клавиши мыши в режиме панорамирования/масштабирования.

press_zoom(event)[source]

Обработчик нажатия клавиши мыши в режиме масштабирования.

push_current()[source]

Добавить текущие пределы отображения и положение в стек.

release_pan(event)[source]

Обработчик отпускания клавиши мыши в режиме панорамирования/масштабирования.

release_zoom(event)[source]

Обработчик отпускания клавиши мыши в режиме масштабирования.

remove_rubberband()[source]

Удалить резинку.

END_OF_DOCUMENT_MARKER
save_figure(*args)[source]

Сохранить текущую фигуру.

set_history_buttons()[source]

Включить или отключить кнопки "Назад" / "Вперед".

set_message(s)[source]

Отобразить сообщение на панели инструментов или в строке состояния.

toolitems=(('Home', 'Сбросить исходный вид', 'home', 'home'), ('Back', 'Назад к предыдущему виду', 'back', 'back'), ('Forward', 'Вперед к следующему виду', 'forward', 'forward'), (None, None, None, None), ('Pan', 'Левая кнопка перемещает, правая кнопка увеличивает масштаб\nх/у фиксирует ось, CTRL фиксирует аспект', 'move', 'pan'), ('Zoom', 'Увеличить до прямоугольника\nх/у фиксирует ось', 'zoom_to_rect', 'zoom'), ('Subplots', 'Настроить подграфики', 'subplots', 'configure_subplots'), (None, None, None, None), ('Save', 'Сохранить фигуру', 'filesave', 'save_figure'))
update()[source]

Сбросить стек осей.

zoom(*args)[source]
exceptionmatplotlib.backend_bases.NonGuiException[source]

Bases: Exception

Возникает при попытке отобразить фигуру в бекенде без графического интерфейса.

classmatplotlib.backend_bases.PickEvent(name, canvas, mouseevent, artist, guiEvent=None, **kwargs)[source]

Bases: Event

Событие выбора.

Это событие срабатывает, когда пользователь выбирает местоположение на холсте, достаточно близкое к элементу, который был сделан выбираемым с помощью Artist.set_picker.

У PickEvent есть ряд специальных атрибутов помимо тех, которые определены в родительском классе Event.

Примеры

Привяжите функцию on_pick() к событиям выбора, которая печатает координаты выбранной точки данных:

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(f'on pick line: {xdata[ind]:.3f}, {ydata[ind]:.3f}')

cid = fig.canvas.mpl_connect('pick_event', on_pick)
Атрибуты:
mouseeventMouseEvent

Событие мыши, которое сгенерировало выбор.

artistArtist

Выбранный элемент. Обратите внимание, что элементы по умолчанию не выбираемы (см. Artist.set_picker).

other

Дополнительные атрибуты могут присутствовать в зависимости от типа выбранного объекта; например, выбор Line2D может определить различные дополнительные атрибуты, чем выбор PatchCollection.

classmatplotlib.backend_bases.RendererBase[source]

Bases: object

Абстрактный базовый класс для обработки операций рисования/рендеринга.

Следующие методы должны быть реализованы в бэкенде для полной функциональности (хотя реализация только draw_path даст весьма функциональный бэкенд):

  • draw_path
  • draw_image
  • draw_gouraud_triangles

Следующие методы должны быть реализованы в бэкенде по причинам оптимизации:

  • draw_text
  • draw_markers
  • draw_path_collection
  • draw_quad_mesh
close_group(s)[source]

Закрыть элемент группировки с меткой s.

Используется только рендерером SVG.

draw_gouraud_triangle(gc, points, colors, transform)[source]

[Устаревший] Отрисовка треугольника с заливкой Гуро.

Parameters:
gcGraphicsContextBase

Контекст графики.

points(3, 2) array-like

Массив точек (x, y) для треугольника.

colors(3, 4) array-like

Цвета RGBA для каждой точки треугольника.

transformTransform

Аффинное преобразование, применяемое к точкам.

Notes

Устарело начиная с версии 3.7: Используйте draw_gouraud_triangles вместо этого.

draw_gouraud_triangles(gc, triangles_array, colors_array, transform)[source]

Отрисовка серии треугольников с заливкой Гуро.

Parameters:
gcGraphicsContextBase

Контекст графики.

triangles_array(N, 3, 2) array-like

Массив N точек (x, y) для треугольников.

colors_array(N, 3, 4) array-like

Массив N цветов RGBA для каждой точки треугольников.

transformTransform

Аффинное преобразование, применяемое к точкам.

draw_image(gc, x, y, im, transform=None)[source]

Отрисовка RGBA изображения.

Parameters:
gcGraphicsContextBase

Контекст графики с информацией о обрезке.

xскаляр

Расстояние в физических единицах (т.е., точках или пикселях) от левой стороны холста.

yскаляр

Расстояние в физических единицах (т.е., точках или пикселях) от нижней стороны холста.

im(N, M, 4) массив из numpy.uint8

Массив пикселей RGBA.

transformAffine2DBase

Если и только если конкретный бэкенд написан таким образом, что option_scale_image возвращает True, может быть передано аффинное преобразование (т.е., Affine2DBase) может быть передано в draw_image. Вектор смещения преобразования задается в физических единицах (т.е., точках или пикселях). Обратите внимание, что преобразование не переопределяет x и y, и должно быть применено до преобразования результата на x и y (это можно сделать, добавив x и y к вектору смещения, определенному transform).

draw_markers(gc, marker_path, marker_trans, path, trans, rgbFace=None)[source]

Отрисовка маркера в каждой вершине пути path (исключая контрольные точки).

Основная (резервная) реализация выполняет несколько вызовов draw_path. Векторы отображения могут переопределить этот метод, чтобы отрисовать маркер только один раз и повторно использовать его несколько раз.

Параметры:
gcGraphicsContextBase

Контекст графики.

marker_pathPath

Путь для маркера.

marker_transTransform

Аффинное преобразование, применяемое к маркеру.

pathPath

Позиции для отрисовки маркеров.

transTransform

Аффинное преобразование, применяемое к пути.

rgbFaceцвет, необязательно
draw_path(gc, path, transform, rgbFace=None)[source]

Отрисовка экземпляра Path с использованием заданного аффинного преобразования.

draw_path_collection(gc, master_transform, paths, all_transforms, offsets, offset_trans, facecolors, edgecolors, linewidths, linestyles, antialiaseds, urls, offset_position)[source]

Отрисовка набора путей paths.

Каждый путь сначала преобразуется соответствующей записью в all_transforms (список матриц (3, 3)), а затем — master_transform. Затем они переводятся соответствующей записью в offsets, которая была преобразована offset_trans.

facecolors, edgecolors, linewidths, linestyles и antialiased — списки, устанавливающие соответствующие свойства.

offset_position больше не используется, но аргумент сохраняется для обратной совместимости.

Основная (резервная) реализация выполняет несколько вызовов 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]

Отрисовка quadmesh.

Основная (резервная) реализация преобразует quadmesh в пути и затем вызывает draw_path_collection.

draw_tex(gc, x, y, s, prop, angle, *, mtext=None)[source]

Отрисовка TeX-экземпляра.

Параметры:
gcGraphicsContextBase

Контекст графики.

xfloat

Координата x текста в координатах отображения.

yfloat

Координата y базовой линии текста в координатах отображения.

sstr

Строка TeX-текста.

propFontProperties

Свойства шрифта.

anglefloat

Угол поворота в градусах против часовой стрелки.

mtextText

Исходный объект текста для отрисовки.

draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None)[source]

Отрисовка текстового элемента.

Параметры:
gcGraphicsContextBase

Контекст графики.

xfloat

Положение x текста в координатах отображения.

yfloat

Положение y базовой линии текста в координатах отображения.

sstr

Строка текста.

propFontProperties

Свойства шрифта.

anglefloat

Угол поворота в градусах против часовой стрелки.

ismathbool или "TeX"

Если True, используется парсер mathtext. Если "TeX", используется tex для рендеринга.

mtextText

Исходный объект текста для рендеринга.

Примечания

Примечание для разработчиков бэкэндов:

При определении правильности вычисления области обрезки (что необходимо для корректного выравнивания текста), полезно изменить строку в файле text.py:

if 0: bbox_artist(self, renderer)

на if 1, и тогда фактическая область обрезки будет нарисована вместе с текстом.

flipy()[source]

Возвращает значение, указывающее, увеличиваются ли значения y сверху вниз.

Обратите внимание, что это влияет только на отрисовку текста.

get_canvas_width_height()[source]

Возвращает ширину и высоту холста в координатах отображения.

get_image_magnification()[source]

Возвращает коэффициент увеличения изображений, передаваемых в draw_image. Позволяет бэкэнду иметь изображения с разрешением, отличным от разрешения других элементов.

get_texmanager()[source]

Возвращает экземпляр TexManager.

get_text_width_height_descent(s, prop, ismath)[source]

Возвращает ширину, высоту и отступ от нижней границы до базовой линии (в координатах отображения) строки s со свойствами шрифта FontProperties prop.

Пробелы в начале и конце строки s учитываются при вычислении ширины.

new_gc()[source]

Возвращает экземпляр GraphicsContextBase.

open_group(s, gid=None)[source]

Открывает элемент группировки с меткой s и gid (если задано) в качестве идентификатора.

Используется только в SVG рендере.

option_image_nocomposite()[source]

Возвращает значение, указывающее, нужно ли пропускать композицию изображений Matplotlib.

Бэкэнды растровых изображений обычно должны возвращать False (позволяя C-уровневому растровику обрабатывать композицию изображений); бэкэнды векторных изображений обычно должны возвращать not rcParams["image.composite_image"].

option_scale_image()[source]

Возвращает значение, указывающее, поддерживаются ли произвольные аффинные преобразования в draw_image (True для большинства векторных бэкэндов).

points_to_pixels(points)[source]

Преобразует точки в единицы отображения.

Вам нужно переопределить эту функцию (если ваш бэкэнд не имеет dpi, например, postscript или svg). Некоторые системы отображения предполагают определенное значение для пикселей на дюйм:

points to pixels = points * pixels_per_inch/72 * dpi/72
Параметры:
pointsfloat или array-like
Возвращает:
Точки, преобразованные в пиксели
start_filter()[source]

Переключается на временный рендерер для эффектов фильтрации изображений.

В настоящее время поддерживается только рендерером agg.

start_rasterizing()[source]

Переключается на растровый рендерер.

Используется MixedModeRenderer.

stop_filter(filter_func)[source]

Возвращение к исходному рендереру. Содержимое временного рендерера обрабатывается с помощью filter_func и отображается на исходном рендерере как изображение.

В настоящее время поддерживается только рендерером agg.

stop_rasterizing()[source]

Возвращение к векторному рендереру и отрисовка содержимого растрового рендерера как изображения на векторном рендерере.

Используется классом MixedModeRenderer.

classmatplotlib.backend_bases.ResizeEvent(name, canvas)[source]

Bases: Event

Событие, срабатывающее при изменении размеров холста.

У ResizeEvent есть ряд специальных атрибутов помимо тех, что определены родительским классом Event.

Атрибуты:
widthint

Ширина холста в пикселях.

heightint

Высота холста в пикселях.

classmatplotlib.backend_bases.ShowBase[source]

Bases: _Backend

Простой базовый класс для генерации функции show() в бэкендах.

Подкласс должен переопределить метод mainloop().

classmatplotlib.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: Внутренняя функция, которую должен вызывать любой объект таймера, которая будет обрабатывать задачу запуска всех установленных обратных вызовов.
Параметры:
intervalint, по умолчанию: 1000мс

Время между таймерными событиями в миллисекундах. Будет храниться как timer.interval.

callbackslist[tuple[callable, tuple, dict]]

Список кортежей (func, args, kwargs), которые будут вызываться при таймерных событиях. Этот список доступен как timer.callbacks и может быть изменён напрямую, или могут быть использованы функции add_callback и remove_callback.

add_callback(func, *args, **kwargs)[source]

Регистрация func для вызова таймером при срабатывании события. Любые дополнительные аргументы будут переданы в func.

Эта функция возвращает func, что позволяет использовать её как декоратор.

propertyinterval

Время между таймерными событиями в миллисекундах.

remove_callback(func, *args, **kwargs)[source]

Удаление func из списка обратных вызовов.

args и kwargs являются необязательными и используются для различения копий одной и той же функции, зарегистрированных для вызова с разными аргументами. Это поведение устарело. В будущем *args, **kwargs больше не будет рассматриваться; для сохранения возможности удаления конкретного обратного вызова, передайте его в add_callback как объект functools.partial.

propertysingle_shot

Флаг, указывающий, должен ли таймер остановиться после одного запуска.

start(interval=None)[source]

Запуск объекта таймера.

Параметры:
intervalint, необязательно

Интервал таймера в миллисекундах; переопределяет ранее установленный интервал, если предоставлен.

stop()[source]

Остановка таймера.

END_OF_DOCUMENT_MARKER
classmatplotlib.backend_bases.ToolContainerBase(toolmanager)[source]

Bases: object

Базовый класс для всех контейнеров инструментов, например, панелей инструментов.

Атрибуты:
toolmanagerToolManager

Инструменты, с которыми этот ToolContainer хочет взаимодействовать.

add_tool(tool, group, position=-1)[source]

Добавить инструмент в этот контейнер.

Параметры:
tooltool_like

Инструмент для добавления, см. ToolManager.get_tool.

groupstr

Имя группы, к которой добавить этот инструмент.

positionint, по умолчанию: -1

Позиция в группе для размещения этого инструмента.

add_toolitem(name, group, position, image, description, toggle)[source]

Добавить элемент инструмента в контейнер.

Этот метод должен быть реализован для каждого бэкэнда.

Обработчик события нажатия кнопки должен быть ровно self.trigger_tool(name).

Параметры:
namestr

Имя добавляемого инструмента, используется в качестве идентификатора инструмента и по умолчанию в качестве метки кнопок.

groupstr

Имя группы, к которой принадлежит этот инструмент.

positionint

Позиция инструмента в его группе, если -1, добавляется в конец.

imagestr

Имя файла изображения для кнопки или None.

descriptionstr

Описание инструмента, используется для подсказок.

togglebool
  • True : Кнопка является переключателем (меняет состояние нажатия/снятия между последовательными щелчками).
  • False : Кнопка является обычной кнопкой (возвращается в состояние снятия нажатия после отпуска).
remove_toolitem(name)[source]

Удалить элемент инструмента из ToolContainer.

Этот метод должен быть реализован для каждого бэкэнда.

Вызывается, когда ToolManager излучает tool_removed_event.

Параметры:
namestr

Имя инструмента для удаления.

set_message(s)[source]

Отобразить сообщение в панели инструментов.

Параметры:
sstr

Текст сообщения.

toggle_toolitem(name, toggled)[source]

Переключить элемент инструмента без срабатывания события.

Параметры:
namestr

Идентификатор инструмента для переключения.

toggledbool

Установить этот инструмент как переключенный или нет.

trigger_tool(name)[source]

Сработать инструмент.

Параметры:
namestr

Имя (идентификатор) инструмента, запущенного внутри контейнера.

matplotlib.backend_bases.button_press_handler(event, canvas=None, toolbar=None)[source]

Действия по умолчанию Matplotlib для дополнительных кнопок мыши.

Параметры такие же, как для key_press_handler, за исключением того, что event — это MouseEvent.

matplotlib.backend_bases.get_registered_canvas_class(format)[source]

Возвращает зарегистрированный по умолчанию холст для данного формата файла. Обрабатывает отложенный импорт необходимого бэкэнда.

END_OF_DOCUMENT_MARKER
matplotlib.backend_bases.key_press_handler(event, canvas=None, toolbar=None)[source]

Реализует стандартные привязки клавиш Matplotlib для холста и панели инструментов, описанные в Клавиши для навигации.

Параметры:
eventKeyEvent

Событие нажатия/отпускания клавиши.

canvasFigureCanvasBase, по умолчанию: event.canvas

Объект холста, специфичный для бэкэнда. Этот параметр сохранён для обратной совместимости, но, если он установлен, он всегда должен быть равен event.canvas.

toolbarNavigationToolbar2, по умолчанию: event.canvas.toolbar

Панель инструментов навигации курсора. Этот параметр сохранён для обратной совместимости, но, если он установлен, он всегда должен быть равен event.canvas.toolbar.

matplotlib.backend_bases.register_backend(format, backend, description=None)[source]

Регистрирует бэкэнд для сохранения в заданном формате файла.

Параметры:
formatstr

Расширение файла

backendстрока модуля или класс холста

Бэкэнд для обработки вывода файла

descriptionстрока, по умолчанию: ""

Описание типа файла.

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/backend_bases_api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API