matplotlib: 有关 Backend 的说明

Matplotlib的后端决定了图形的输出方式和交互性。后端分为用户界面后端(如Qt5Agg、TkAgg)和硬拷贝后端(如PNG、SVG)。选择后端可通过修改matplotlibrc文件、设置环境变量MPLBACKEND或使用matplotlib.use()函数。默认情况下,Matplotlib会自动选择合适的后端,但用户可根据需求手动切换。例如,使用`matplotlib.use('Qt5Agg')`可在交互式环境中使用Qt5Agg后端。

matplotlib: 有关 Backend 的说明

什么是Backend?

Matplotlib针对许多不同的用例和输出格式。

有些人在python shell中交互式地使用Matplotlib,并在键入命令时弹出绘图窗口。

有些人使用木星笔记本,绘制内联图来快速分析数据。

还有一些人将Matplotlib嵌入到图形用户界面中,如PyQt或PyGObject,以构建丰富的应用程序。

有些人在批处理脚本中使用Matplotlib从数值模拟中生成postscript图像,还有一些人运行web应用程序服务器动态地提供图形。

为了支持所有这些用例,Matplotlib可以针对不同的输出,这些功能中的每一个都被称为后端。

“前端”是面向用户的代码,也就是绘图代码,而“后端”负责所有幕后的工作,以制作图形。

有两种类型的后端:

  1. 用户界面后端(用于PyQt/PySide、PyGObject、Tkinter、wxPython或macOS/Cocoa);也称为“交互式后端”;
  2. 硬拷贝后端制作图像文件(PNG, SVG, PDF, PS;也称为“非交互式后端”)。

 

如何选择一个后端

有三种方式来配置你的后端:

1. 修改matplotlibrc文件中的rcParams["backend"](默认值:'agg')参数

2. MPLBACKEND环境变量: 可以将这个可选变量设置为选择Matplotlib后端

3. 使用函数matplotlib.use ()

下面给出了更详细的描述。

如果存在多个配置,则列表中的最后一个优先; 例如,调用matplotlib.use()将覆盖matplotlibrc中的设置。

如果没有显式设置后端,Matplotlib会根据系统上可用的内容以及GUI事件循环是否已经运行自动检测一个可用的后端。

在Linux上,如果没有设置环境变量DISPLAY,则“事件循环”被标识为“headless”,这将导致回退到非交互后端(agg)。

下面是配置方法的详细说明:

1. 修改matplotlibrc文件(路径为: C:\Program Files\Python38\Lib\site-packages\matplotlib\mpl-data)中的rcParams["backend"](默认值:'agg')参数.

2. 设置MPLBACKEND环境变量:

您可以为当前shell或单个脚本设置环境变量。

在Unix:

export MPLBACKEND=qt5agg
python simple_plot.py

MPLBACKEND=qt5agg python simple_plot.py

在Windows上,只有前者是可能的:

set MPLBACKEND=qt5agg
python simple_plot.py

设置这个环境变量将覆盖任何matplotlibrc中的后端参数,即使在您当前的工作目录中有matplotlibrc。因此,全局设置MPLBACKEND,例如在你的.bashrc或.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值