Skip to content

Commit 87d1da1

Browse files
authored
Merge pull request #27869 from QuLogic/fix-pdf-pgf-backend
Correctly set temporary pdf/pgf backends
2 parents 9618fc6 + 4942cd1 commit 87d1da1

File tree

2 files changed

+20
-22
lines changed

2 files changed

+20
-22
lines changed

lib/matplotlib/backends/backend_pdf.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -2755,8 +2755,7 @@ def savefig(self, figure=None, **kwargs):
27552755
raise ValueError(f"No figure {figure}")
27562756
figure = manager.canvas.figure
27572757
# Force use of pdf backend, as PdfPages is tightly coupled with it.
2758-
with cbook._setattr_cm(figure, canvas=FigureCanvasPdf(figure)):
2759-
figure.savefig(self, format="pdf", **kwargs)
2758+
figure.savefig(self, format="pdf", backend="pdf", **kwargs)
27602759

27612760
def get_pagecount(self):
27622761
"""Return the current number of pages in the multipage pdf file."""

lib/matplotlib/backends/backend_pgf.py

+19-20
Original file line numberDiff line numberDiff line change
@@ -987,26 +987,25 @@ def savefig(self, figure=None, **kwargs):
987987
raise ValueError(f"No figure {figure}")
988988
figure = manager.canvas.figure
989989

990-
with cbook._setattr_cm(figure, canvas=FigureCanvasPgf(figure)):
991-
width, height = figure.get_size_inches()
992-
if self._n_figures == 0:
993-
self._write_header(width, height)
994-
else:
995-
# \pdfpagewidth and \pdfpageheight exist on pdftex, xetex, and
996-
# luatex<0.85; they were renamed to \pagewidth and \pageheight
997-
# on luatex>=0.85.
998-
self._file.write(
999-
(
1000-
r'\newpage'
1001-
r'\ifdefined\pdfpagewidth\pdfpagewidth'
1002-
fr'\else\pagewidth\fi={width}in'
1003-
r'\ifdefined\pdfpageheight\pdfpageheight'
1004-
fr'\else\pageheight\fi={height}in'
1005-
'%%\n'
1006-
).encode("ascii")
1007-
)
1008-
figure.savefig(self._file, format="pgf", **kwargs)
1009-
self._n_figures += 1
990+
width, height = figure.get_size_inches()
991+
if self._n_figures == 0:
992+
self._write_header(width, height)
993+
else:
994+
# \pdfpagewidth and \pdfpageheight exist on pdftex, xetex, and
995+
# luatex<0.85; they were renamed to \pagewidth and \pageheight
996+
# on luatex>=0.85.
997+
self._file.write(
998+
(
999+
r'\newpage'
1000+
r'\ifdefined\pdfpagewidth\pdfpagewidth'
1001+
fr'\else\pagewidth\fi={width}in'
1002+
r'\ifdefined\pdfpageheight\pdfpageheight'
1003+
fr'\else\pageheight\fi={height}in'
1004+
'%%\n'
1005+
).encode("ascii")
1006+
)
1007+
figure.savefig(self._file, format="pgf", backend="pgf", **kwargs)
1008+
self._n_figures += 1
10101009

10111010
def get_pagecount(self):
10121011
"""Return the current number of pages in the multipage pdf file."""

0 commit comments

Comments
 (0)