Spec-Zone.ru › Matplotlib

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]

Базы: Event

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

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

Базы: Event

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

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

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

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

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

Атрибуты:
rendererRendererBase

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

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

Базы: object

Событие Matplotlib.

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

Атрибуты:
namestr

Имя события.

canvasFigureCanvasBase

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

guiEvent

Событие GUI, которое вызвало событие Matplotlib.

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

Базы: object

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

Атрибуты:
figureFigure

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

blit(bbox=None)[source]

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

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

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

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

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

Отрисовка Figure.

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

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

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

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

Примечания

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

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': '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', '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, является ошибкой.

inaxes(xy)[source]

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

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

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

Возвращаемое значение:
Axes или None

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

is_saving()[source]

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

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строка, необязательно

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

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

Прямоугольник (BBox) в дюймах: сохраняется только указанная часть рисунка. Если '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]

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

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

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

Параметры:
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 для взаимодействия с окном независимо от бэкенда. Это адаптер для реальной (графической) среды, которая представляет визуальную фигуру на экране.

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

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

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

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

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

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

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

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

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

Атрибуты:
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 %pylab , ни в режиме interactive.

resize(w, h)[source]

Для бэкендов графических интерфейсов, изменить размер окна (в физических пикселях).

set_window_title(title)[source]

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

Это не оказывает никакого эффекта для бэкендов, не являющихся графическими интерфейсами (например, PS).

Примеры

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

Для бэкендов графических интерфейсов, отобразить окно фигуры и перерисовать. Для бэкендов, не являющихся графическими интерфейсами, выводится исключение, за исключением запуска в режиме 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]

Базовые классы: object

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

copy_properties(gc)[source]

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

get_alpha()[source]

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

get_antialiased()[source]

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

get_capstyle()[source]

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

get_clip_path()[source]

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

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]

Возвращает значение настройки привязки:

  • 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_listarray-like или 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.

Атрибуты:
keyNone или str

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

Примечания

Ключи модификаторов будут добавлены в качестве префиксов к нажатой клавише и будут расположены в порядке "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)
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, если указатель мыши не находится над осями.

modifiersfrozenset

Ключи-модификаторы, которые в данный момент нажаты (кроме KeyEvent).

lastevent=<matplotlib.backend_bases.MouseEvent object>[source]
classmatplotlib.backend_bases.MouseButton(value, names=<not given>, *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.

Атрибуты:
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'.

Примеры

def on_press(event):
    print('you pressed', event.button, event.xdata, event.ydata)

cid = fig.canvas.mpl_connect('button_press_event', on_press)
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'), ('Назад', 'Возврат к предыдущему виду', 'back', 'back'), ('Вперед', 'Переход к следующему виду', 'forward', 'forward'), (None, None, None, None), ('Перемещение', 'Левая кнопка перемещает, правая кнопка увеличивает масштаб\nx/y фиксирует ось, CTRL фиксирует аспект', 'move', 'pan'), ('Масштабирование', 'Масштабирование до прямоугольника\nx/y фиксирует ось', 'zoom_to_rect', 'zoom'), ('Подграфики', 'Настройка подграфиков', 'subplots', 'configure_subplots'), (None, None, None, None), ('Сохранить', 'Сохранить фигуру', '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.

Attributes:
mouseeventMouseEvent

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

artistArtist

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

other

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

Примеры

Привяжите функцию 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)
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_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

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

xscalar

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

yscalar

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

im(N, M, 4) array of 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. Бэкенды могут переопределить этот метод для отрисовки маркера только один раз и повторного использования его несколько раз.

Parameters:
gcGraphicsContextBase

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

marker_pathPath

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

marker_transTransform

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

pathPath

Расположение для отрисовки маркеров.

transTransform

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

rgbFaceцвет, optional
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]

Отобразить сетку квадриков.

Базовая (резервная) реализация преобразует сетку квадриков в пути и затем вызывает 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 or "TeX"

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

mtextText

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

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.

Векторные бэкэнды обычно должны возвращать True (позволяя C-уровневому растеризатору позаботиться о композиции изображений); растровые бэкэнды обычно должны возвращать False.

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: Внутренняя функция, которую должен вызывать любой объект таймера, которая будет обрабатывать задачу выполнения всех заданных обратных вызовов.
Parameters:
intervalint, default: 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=<deprecated parameter>)[source]

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

Parameters:
intervalint, optional

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

stop()[source]

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

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]

Метод для добавления элемента инструмента в контейнер.

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

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

Это часть реализации бэкенда и не должно вызываться конечными пользователями. Вместо этого они должны вызывать ToolContainerBase.add_tool.

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

Параметры:
namestr

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

groupstr

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

positionint

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

imagestr

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

descriptionstr

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

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

Метод для удаления элемента инструмента из контейнера.

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

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

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

Это часть реализации бэкенда и не должно вызываться конечными пользователями. Вместо этого они должны вызывать ToolManager.remove_tool.

Параметры:
namestr

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

set_message(s)[source]

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

Параметры:
sstr

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

toggle_toolitem(name, toggled)[source]

Метод для переключения элемента инструмента без запуска события.

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

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

Это часть реализации бэкенда и не должно вызываться конечными пользователями. Вместо этого они должны вызывать ToolManager.trigger_tool или ToolContainerBase.trigger_tool (они эквивалентны).

Параметры:
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]

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

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строка модуля или класс холста

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

descriptionstr, по умолчанию: ""

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

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

Spec-Zone.ru

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