Spec-Zone.ru › Matplotlib 3.2

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

END_OF_DOCUMENT_MARKER
class matplotlib.backend_bases.FigureCanvasBase(figure) [source]

Bases: object

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

Общедоступные атрибуты

Атрибуты:
figurematplotlib.figure.Figure

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

blit(self, bbox=None) [source]

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

button_press_event(self, x, y, button, dblclick=False, guiEvent=None) [source]

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

Этот метод вызовет все функции, подключенные к событию 'button_press_event', с экземпляром MouseEvent.

button_release_event(self, x, y, button, guiEvent=None) [source]

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

Этот метод вызовет все функции, подключенные к событию '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]

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

END_OF_DOCUMENT_MARKER
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 не поддерживают эти операции и могут использовать только базовый класс.

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

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

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

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

Менеджер фигур настраивает обработку нажатий клавиш и кнопок мыши по умолчанию, подключив 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)
button_press(self, event) [source]

Действия по умолчанию 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
END_OF_DOCUMENT_MARKER
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'

class matplotlib.backend_bases.NavigationToolbar2(canvas) [source]

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)
вы можете изменить кнопки истории "Назад" / "Вперёд", чтобы указать состояние "отключено" / "включено".

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

back(self, *args) [source]

Перейти назад в стеке пределов просмотра.

drag_pan(self, event) [source]

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

drag_zoom(self, event) [source]

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

draw(self) [source]

Перерисовать холсты, обновить локаторы.

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

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

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

forward(self, *args) [source]

Перейти вперёд в стеке пределов просмотра.

home(self, *args) [source]

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

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

Активировать инструмент панорамирования/масштабирования.

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

press(self, event) [source]

Вызывается при нажатии кнопки мыши.

press_pan(self, event) [source]

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

press_zoom(self, event) [source]

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

push_current(self) [source]

Поместить текущие пределы просмотра и позицию в стек.

release(self, event) [source]

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

release_pan(self, event) [source]

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

release_zoom(self, event) [source]

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

remove_rubberband(self) [source]

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

save_figure(self, *args) [source]

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

set_cursor(self, cursor) [source]

Установить текущий курсор на одно из значений перечисления Cursors.

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

set_history_buttons(self) [source]

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

set_message(self, s) [source]

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

toolitems = (('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous view', 'back', 'back'), ('Forward', 'Forward to next view', 'forward', 'forward'), (None, None, None, None), ('Pan', 'Pan axes with left mouse, zoom with right', 'move', 'pan'), ('Zoom', 'Zoom to rectangle', 'zoom_to_rect', 'zoom'), ('Subplots', 'Configure subplots', 'subplots', 'configure_subplots'), (None, None, None, None), ('Save', 'Save the figure', 'filesave', 'save_figure'))
update(self) [source]

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

zoom(self, *args) [source]

Активировать режим масштабирования по прямоугольнику.

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() даст высокоэффективный бэкенд):

  • draw_path()
  • draw_image()
  • draw_gouraud_triangle()

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

  • draw_text()
  • draw_markers()
  • draw_path_collection()
  • draw_quad_mesh()
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]
END_OF_DOCUMENT_MARKER
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 с FontProperties prop

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
  • True : Кнопка является переключателем (изменяет состояние нажатия/не нажатия между последовательными нажатиями)
  • False : Кнопка является обычной кнопкой (возвращается в состояние не нажатия после отпускания)
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.backend_bases.button_press_handler(event, canvas, toolbar=None) [source]

Действия по умолчанию 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: ""

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

© 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

END_OF_DOCUMENT_MARKER

Spec-Zone.ru

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