Skip to main content

Seamless LaTeX and Matplotlib integration for publication plots

Project description

PyPI version Build Status Documentation Status

pubplot allows you to create publication quality plots that fit elegantly in your LaTeX document.

Main Features

  • Make plots that match the LaTeX style you are using. Automatically adjust plot sizes to fit in a column (or in a page) of the document. Detect text sizes in the LaTeX document and ensures that texts inside plots use the same size as captions or other predefined text size (e.g., \footnotesize).
  • Document-level styles. Apply styles to a document – instead of a global configuration. This allows you to use multiple documents with different styles at the same time. Moreover, you can easily reuse your style across different documents.


Start creating a document matching your LaTeX documentclass:

>>> from pubplot import Document
>>> from pubplot.document_classes import acm_sigconf
>>> doc = Document(acm_sigconf)

Now you can use your newly created doc to make plots that fit well in an ACM conference paper.

>>> fig, ax = doc.subfigures()
>>> ax.plot(range(11), range(11))

This will create two files plot_name.pdf and plot_name.pgf.

To include the generated pgf plot in your LaTeX document, make sure to include the folowing line your document preamble:


Then, include the image using the following line (usually inside a figure environment):

plot in a LaTeX document

If you are familiar with matplotlib you will have no problem using pubplot. In the example above, fig should support all methods from matplotlib’s Figure class. The same is true for ax, which works like Axes.

For further help, check the examples and the rest of the documentation.



Make sure you have an updated LaTeX installation:

sudo apt update
sudo apt install texlive-base texlive-latex-recommended texlive-fonts-recommended texlive-publishers texlive-latex-extra

Now install pubplot using pip:

pip install pubplot


You need a basic LaTeX installation. An easy way of getting LaTeX on a mac is through homebrew cask (although any other form of getting mactex should be fine):

brew cask install mactex

Now install pubplot using pip:

pip install pubplot

Optional but recommended. Matplotlib works better if you install some dependencies, if you use homebrew that can be accomplished with:

brew install libpng freetype pkg-config fontconfig

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pubplot, version 0.2.4
Filename, size File type Python version Upload date Hashes
Filename, size pubplot-0.2.4.tar.gz (10.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page