pnkraemer / tueplots

Figure sizes, font sizes, fonts, and more configurations at minimal overhead. Fix your journal papers, conference proceedings, and other scientific publications.
https://tueplots.readthedocs.io
MIT License
675 stars 25 forks source link
matplotlib scientific-visualization

TUEplots: Extend matplotlib for scientific publications

PyPi Version Docs GitHub stars gh-actions License Badge PyPI - Downloads

Why?

tueplots helps you to create scientific plots that can be used in papers, presentations, posters, or other publications. tueplots does not try to make your plots as beautiful as possible (who are we to judge your favourite color). Instead, it makes it effortless to avoid common issues like too-small figures, inappropriate fontsizes, or inconsistencies among figures. Because good-looking figures are important.

For example, consider the style tailored to the ICML2022 template. (Left: default matplotlib, middle: one line of tueplots-code, right: two lines of tueplots-code)

Principles

tueplots has no internal state: It only passes around dictionaries, whose key-value pairs match those that matplotlib uses. Instead of updating global state, it makes it easy for you to do it yourself! If you want to globally change settings, pass them to matplotlib.pyplot.rcParams.update(). If you only need them for specific contexts, pass them to matpltlib.pyplot.rc_context(). tueplots makes the change easy, so you can make the easy change. This should make tueplots naturally compatible with other matplotlib extensions. Usage examples are given below.

tueplots has no opinions: It does not tell you what your figures should look like in the end, but helps you to tailor your plots to your own needs. We like all the colors, frame-styles, markers, or linewidths. But we do think that figure sizes should match the text-width in your publication, and that the font-size in the plot should be readable, and similar to the rest of the paper/presentation/....

Getting started

Installing tueplots is explained here. Some usage examples are given at this url. A more specific tutorial, applying tueplots to figures intended for ICML 2022, is on this page. If something is not working as promised, please refer to the troubleshooting site. For more advanced tutorials, you may refer to the example notebooks.

Related packages

There are similar packages to tueplots (with different foci, respectively):

The matplotlib third-party plots contains a more comprehensive list. If you know of any others, please feel invited to open an issue/PR.

Miscellaneous

tueplotshas been started at the University of Tübingen (hence the name).