diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index a3aa2f66010a..7e3e09f034f5 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -2755,8 +2755,7 @@ def savefig(self, figure=None, **kwargs): raise ValueError(f"No figure {figure}") figure = manager.canvas.figure # Force use of pdf backend, as PdfPages is tightly coupled with it. - with cbook._setattr_cm(figure, canvas=FigureCanvasPdf(figure)): - figure.savefig(self, format="pdf", **kwargs) + figure.savefig(self, format="pdf", backend="pdf", **kwargs) def get_pagecount(self): """Return the current number of pages in the multipage pdf file.""" diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index ba01622bd068..9705f5fc6bce 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -987,26 +987,25 @@ def savefig(self, figure=None, **kwargs): raise ValueError(f"No figure {figure}") figure = manager.canvas.figure - with cbook._setattr_cm(figure, canvas=FigureCanvasPgf(figure)): - width, height = figure.get_size_inches() - if self._n_figures == 0: - self._write_header(width, height) - else: - # \pdfpagewidth and \pdfpageheight exist on pdftex, xetex, and - # luatex<0.85; they were renamed to \pagewidth and \pageheight - # on luatex>=0.85. - self._file.write( - ( - r'\newpage' - r'\ifdefined\pdfpagewidth\pdfpagewidth' - fr'\else\pagewidth\fi={width}in' - r'\ifdefined\pdfpageheight\pdfpageheight' - fr'\else\pageheight\fi={height}in' - '%%\n' - ).encode("ascii") - ) - figure.savefig(self._file, format="pgf", **kwargs) - self._n_figures += 1 + width, height = figure.get_size_inches() + if self._n_figures == 0: + self._write_header(width, height) + else: + # \pdfpagewidth and \pdfpageheight exist on pdftex, xetex, and + # luatex<0.85; they were renamed to \pagewidth and \pageheight + # on luatex>=0.85. + self._file.write( + ( + r'\newpage' + r'\ifdefined\pdfpagewidth\pdfpagewidth' + fr'\else\pagewidth\fi={width}in' + r'\ifdefined\pdfpageheight\pdfpageheight' + fr'\else\pageheight\fi={height}in' + '%%\n' + ).encode("ascii") + ) + figure.savefig(self._file, format="pgf", backend="pgf", **kwargs) + self._n_figures += 1 def get_pagecount(self): """Return the current number of pages in the multipage pdf file."""