matplotlib 的良好默认后端是什么

matplotlib 的良好默认后端是什么

我决定设置一个自定义的matplotlibrc,因此我需要为选择一个后端matplotlib。从不需要安装其他附加软件包的角度来看,最好的是什么?

我倾向于matplotlib通过来使用ipython --pylab,所以我想要基于交互式窗口的图表(当我不需要时,我可以切换到Agg)。

我已经尝试过了WXAgg,但是这需要(足够合理的) WX。

答案1

Agg和都不TkAgg需要 Python 标准库之外的任何依赖项。

我遇到了一些与TkAgg多线程有关的问题,因此如果您只需要保存到文件(而不是plt.show()),我建议使用Agg(只需将其替换到TkAgg下面出现的位置)。

将以下行添加到您的~/.config/matplotlib/matplotlibrc

backend: TkAgg

或者将以下几行添加到你的 python 文件中:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

答案2

import matplotlib
matplotlib.use('Qt5Agg')
import matplotlib.pyplot as plt
import numpy as np


x = np.linspace(0,1,100)
y = np.sin(x)

plt.plot(x,y)
plt.show()

据我所知,PyQt5 是 Matplotlib 的最佳后端。即使在运行程序后,它也允许进行所有编辑。要使用它,

import matplotlib
matplotlib.use('Qt5Agg')

在拨打电话之前请先

import matplotlib.pyplot as plt

注意:你需要安装 PyQt5

通过 pip 安装,运行命令

pip install PyQt5

答案3

与在单独窗口中绘图相比,我更喜欢使用 matplotlib 的内联绘图,因为这样当我对 Python 代码进行微调时,我可以更轻松地看到自己在做什么。

面向科学家的 Python IDE(蜘蛛)可以进行内联绘图。要试用此功能,请打开终端并输入:

sudo apt install python2.7 python-matplotlib spyder ipython # Python 2.x in Ubuntu 18.04 and earlier 

或者

sudo apt install python3 python3-matplotlib spyder3 ipython3 # Python 3.x  

在 IPython 控制台中的 ipython 提示符后复制/粘贴以下代码并按下Enter键来运行它。

import matplotlib.pyplot as plt   
x, y = [-1, 12], [1, 4]  
plt.plot(x, y, marker = 'o')  

在此处输入图片描述

安装了 Hydrogen 软件包的 Atom 文本编辑器也可以进行内联绘图。我发现 Atom 界面的配置比 Spyder 更复杂,在 Spyder 中,使用 matplotlib 进行内联绘图是开箱即用的。我开始在 Atom 中进行内联绘图是因为我想使用 Atom 与其他编程语言一起制作内联绘图。

相关内容