matplotlib.backends.registry
#
- class matplotlib.backends.registry.BackendFilter(*values)[source]#
基类:
Enum
与
list_builtin()
一起使用的过滤器自 3.9 版本新增。
- class matplotlib.backends.registry.BackendRegistry[source]#
基类:
object
Matplotlib 中可用后端(backend)的注册表。
这是可用后端(backend)的唯一真实来源。
所有对
BackendRegistry
的使用都应通过单例实例backend_registry
进行,该实例可以从matplotlib.backends
导入。每个后端都有一个名称、一个包含后端代码的模块名称,以及一个可选的 GUI 框架(如果后端是交互式的,则该框架必须正在运行)。后端有三种来源:内置(源代码位于 Matplotlib 仓库中)、显式
module://some.backend
语法(通过加载模块获取后端),或通过入口点(外部包中自注册的后端)。自 3.9 版本新增。
- backend_for_gui_framework(framework)[source]#
返回与指定 GUI 框架对应的后端名称。
- 参数:
- frameworkstr
GUI 框架,例如 “qt”。
- 返回:
- str 或 None
后端名称,如果未识别 GUI 框架则为 None。
- is_valid_backend(backend)[source]#
如果后端名称有效,则返回 True,否则返回 False。
后端名称如果属于内置后端之一,或已通过入口点动态添加,则被视为有效。以
module://
开头的始终被视为有效,并在此函数中添加到当前所有后端列表中。即使名称有效,它也可能无法导入或使用。这只能通过加载和使用后端模块来确定。
- 参数:
- backendstr
后端名称。
- 返回:
- 布尔值
如果后端有效则为 True,否则为 False。
- list_all()[source]#
返回所有已知后端(backend)的列表。
这些包括内置后端以及在运行时通过入口点或显式
module://some.backend
语法获得的后端。如果入口点尚未加载,则会加载它们。
- 返回:
- str 列表
后端名称。
- list_builtin(filter_=None)[source]#
返回 Matplotlib 内置后端(backend)的列表。
- 参数:
- filter_
BackendFilter
,可选 应用于返回后端的过滤器。例如,要仅返回非交互式后端,请使用
BackendFilter.NON_INTERACTIVE
。
- filter_
- 返回:
- str 列表
后端名称。
- load_backend_module(backend)[source]#
加载并返回包含指定后端(backend)的模块。
- 参数:
- backendstr
要加载的后端名称。
- 返回:
- 模块
包含后端(backend)的模块。
- resolve_backend(backend)[source]#
返回指定后端名称的后端和 GUI 框架。
如果 GUI 框架尚不明确,则将通过加载后端模块并检查
FigureCanvas.required_interactive_framework
属性来确定。此函数仅在入口点尚未加载且后端不是内置或
module://some.backend
格式时才加载入口点。- 参数:
- backendstr 或 None
后端名称,或 None 以使用默认后端。
- 返回:
- backendstr
后端名称。
- frameworkstr 或 None
GUI 框架,对于非交互式后端将为 None。
- resolve_gui_or_backend(gui_or_backend)[source]#
返回指定字符串的后端和 GUI 框架,该字符串可以是 GUI 框架名称或后端名称(按此顺序进行测试)。
此函数用于 IPython 的 %matplotlib 魔术命令,该命令可以是 GUI 框架(例如
%matplotlib qt
)或后端名称(例如%matplotlib qtagg
)。此函数仅在入口点尚未加载且后端不是内置或
module://some.backend
格式时才加载入口点。- 参数:
- gui_or_backendstr 或 None
GUI 框架或后端名称,或 None 以使用默认后端。
- 返回:
- backendstr
后端名称。
- frameworkstr 或 None
GUI 框架,对于非交互式后端将为 None。