Tavotto/Tavotto
AI drew your research figure. Tavotto makes it publication-ready: edit matplotlib and AI-generated figures on a canvas, lay out multi-panel pages in mm, check journal rules before export. Scripts stay untouched.
What it solves
Tavotto is a visual editor for Matplotlib figures and AI-generated scientific figures. It eliminates the tedious cycle of modifying code, re-running scripts, and checking outputs just to make minor visual adjustments (like moving a legend or resizing a label) before publication. It also prevents the loss of layout changes that typically occurs when users manually edit PDFs in software like Adobe Illustrator, as it keeps the figure linked to the source script.
How it works
Tavotto opens figures generated by Matplotlib scripts. It keeps the Figure object in memory, allowing users to interactively drag, resize, and modify elements (titles, curves, legends, etc.) on a canvas. These changes are stored as overrides rather than modifying the original .py file. When exporting, it re-runs the script and applies the overrides to ensure the final output is consistent with the source. It also includes a "preflight" check that validates the figure against publication profiles (e.g., checking if font sizes are too small for a specific journal).
Who it’s for
Researchers, data scientists, and engineers who use Matplotlib for scientific plotting and need to produce publication-ready figures without sacrificing the reproducibility of their code.
Highlights
- Visual Editing: Direct manipulation of figure elements on a canvas with instant feedback.
- Non-destructive Workflow: Edits are saved as overrides; the original Python script remains the source of truth.
- ** uma Publication Preflight**: Automated checks for font sizes and layout issues based on publication profiles.
- AI Integration: Deep integration with Codex via a plugin and MCP server, allowing AI agents to generate the initial figure and users to refine it visually.
- Professional Export: High-quality PDF, PNG, and TIFF exports with real, selectable text.
- Flexible Execution: The
tavotto runcommand allows it to attach to existing complex Python environments and command-line arguments.
Related
- Project
- Project
- Project
- Project
- Project