Pylustrator
An interactive GUI for arranging and annotating matplotlib figures for publication, which records every change as generated Python code that reproduces the finished figure.
Pylustrator gives a matplotlib figure an interactive editing interface: subplots can be resized and dragged with the mouse, and text and annotations can be added directly on the figure, so a plot can be finished visually rather than through trial-and-error code changes. Every change made this way is written back into the original plot script as automatically generated Python code, so the finished figure can be exactly reproduced later without manually readjusting it in an external program.
It can also compose several existing figures into a single multi-panel figure, which is useful when a publication needs related plots combined into one composite image.
It is written in Python and released under the GPL-3.0 license.