Самый минимальный бэкэнд может выглядеть следующим образом, где мы просто берем холст рисунка из бэкэнда agg (и, следовательно, можем использовать все связанные методы)
from matplotlib.backend_bases import Gcf
from matplotlib.backends.backend_agg import FigureCanvasAgg
FigureCanvas = FigureCanvasAgg
def show(*args, **kwargs):
for num, figmanager in enumerate(Gcf.get_all_fig_managers()):
figmanager.canvas.figure.savefig(f"figure_{num}.png")
Если вы сохраните его как mybackend.py
, вы можете использовать его как бэкэнд через matplotlib.use("module://mybackend")
.
import matplotlib
matplotlib.use("module://mybackend")
import matplotlib.pyplot as plt
plt.figure()
plt.plot([1,3,2])
plt.figure()
plt.scatter([1,2,3], [3,2,3], color="crimson")
plt.show()