Skip to content

Commit ddbb0f6

Browse files
committed
Add description for metadata argument of savefig
1 parent 324a8af commit ddbb0f6

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

lib/matplotlib/backends/backend_agg.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,6 +485,42 @@ def print_raw(self, filename_or_obj, *args, **kwargs):
485485
print_rgba = print_raw
486486

487487
def print_png(self, filename_or_obj, *args, **kwargs):
488+
"""
489+
Write the png data to the given file.
490+
491+
Parameters
492+
----------
493+
filename_or_obj : str or PathLike of file-handle
494+
The file to write to.
495+
496+
metadata : dict, optional
497+
Metadata in the PNG file as key-value pairs of strings.
498+
According to the PNG specification, keys must be shorter than 79
499+
chars. The only supported encoding for both keywords and values is
500+
Latin-1 (ISO 8859-1).
501+
502+
The PNG specification defines some common keywords that may be
503+
used as appropriate:
504+
505+
- Title: Short (one line) title or caption for image.
506+
- Author: Name of image's creator.
507+
- Description: Description of image (possibly long).
508+
- Copyright: Copyright notice.
509+
- Creation Time: Time of original image creation
510+
(usually RFC 1123 format).
511+
- Software: Software used to create the image.
512+
- Disclaimer: Legal disclaimer.
513+
- Warning: Warning of nature of content.
514+
- Source: Device used to create the image.
515+
- Comment: Miscellaneous comment;
516+
conversion from other image format.
517+
518+
Other keywords may be invented for other purposes.
519+
520+
If 'Software' is not given, an autogenerated value for matplotlib
521+
will be used.
522+
523+
"""
488524
FigureCanvasAgg.draw(self)
489525
renderer = self.get_renderer()
490526

lib/matplotlib/figure.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1979,7 +1979,7 @@ def savefig(self, fname, *, frameon=None, transparent=None, **kwargs):
19791979
savefig(fname, dpi=None, facecolor='w', edgecolor='w',
19801980
orientation='portrait', papertype=None, format=None,
19811981
transparent=False, bbox_inches=None, pad_inches=0.1,
1982-
frameon=None)
1982+
frameon=None, metadata=None)
19831983
19841984
The output formats available depend on the backend being used.
19851985
@@ -2059,6 +2059,16 @@ def savefig(self, fname, *, frameon=None, transparent=None, **kwargs):
20592059
A list of extra artists that will be considered when the
20602060
tight bbox is calculated.
20612061
2062+
metadata : dict, optional
2063+
Key/value pairs to store in the image metadata. The supported keys
2064+
and defaults depend on the image format and backend:
2065+
2066+
- 'png' with Agg backend: See the parameter ``metadata`` of
2067+
`~.FigureCanvasAgg.print_png`.
2068+
- 'pdf' with pdf backend: See the parameter ``metadata`` of
2069+
`.PdfPages`.
2070+
- 'eps' and 'ps' with PS backend: Only 'Creator' is supported.
2071+
20622072
"""
20632073
kwargs.setdefault('dpi', rcParams['savefig.dpi'])
20642074
if frameon is None:

0 commit comments

Comments
 (0)