Store multiple matplotlib
figures as pages in a PDF-file.
A PDFFigureContainer
is initialized with a Path to a destination.
PDFFigureContainer.add_figure_page()
is called to add current figure to the PDF.
# Make a container
container = PDFFigureContainer(Path(output_dir, "container.pdf"))
#
# Make a figure
#
# Add figure to pdf
container.add_figure_page()
Install by pip install matplotlib-pdf
Additional options and uses are:
- The container can buffer many pages by calling
container.add_figure_page(commit=False)
, and them comiting them all to the file usingcontainer.update_file()
(to avoid constantly updating the file). - You can specify figure with
add_figure_page(figure=fig)
.
- By running
container.set_timestamp()
before adding pages to a container, the container will add a time-stamp to each page, allowing reader to see what each page has last been updated (check documentation of method for options toset_timestamp()
). - By running
container.set_enumeration()
before adding pages to a container, the container will add an enumeration to the pages (ex.2 / 3
) (check documentation of method for options toset_enumeration()
).
The example.py
-script exemplifies by making three figures and passing them to a PDF-file.
It then overwrites the second page with a different figure. The end result is something like: