Skip to main content

A user-friendly graph builder with matplotlib backend for creating publication-quality plots from TSV data

Project description

Plottini

A user-friendly graph builder for creating publication-quality plots from TSV data

PyPI version Quality Gate Status Coverage Python 3.10+ License: MIT


Overview

Plottini is designed for researchers, scientists, and anyone who needs to create high-quality graphs from tabular data without writing code. With an intuitive UI powered by Streamlit (available as a desktop app via PyWebView or in the browser) and matplotlib as the rendering backend, Plottini makes it easy to:

  • Load TSV data files with automatic validation
  • Create various chart types (line, bar, scatter, histogram, and more)
  • Apply mathematical transformations to your data
  • Overlay multiple datasets on the same plot
  • Export publication-ready figures in PNG, SVG, PDF, or EPS formats

Features

Core Capabilities

  • Multiple data sources: Load one or more TSV files with configurable headers and comment delimiters
  • Rich chart types: Line, Bar, Pie, Scatter, Histogram, Polar, Box, Violin, Area, and more
  • Data transformations: Apply preset functions (log, sqrt, power, trig functions) to your data
  • Derived columns: Create computed columns using safe mathematical expressions
  • Data filtering: Filter rows by value ranges before plotting
  • Multi-file alignment: Align multiple datasets by a common column
  • Secondary Y-axis: Display two different scales on the same plot
  • Live preview: See your changes in real-time as you configure your plot
  • Publication quality: Colorblind-safe palettes and professional styling by default

Export Options

  • Formats: PNG, SVG, PDF, EPS
  • Configurable DPI: High-resolution output for publications
  • Vector formats: Scalable graphics for presentations and papers

Installation

From PyPI

pip install plottini

From Source

git clone https://github.com/lanthoor/plottini.git
cd plottini
pip install -e .

Quick Start

Start the UI

plottini

This will start the desktop app (using PyWebView) with the Streamlit-based interface.

Command-Line Options

# Start on a specific port
plottini --port 8080

# Show version
plottini version

Usage

1. Load Your Data

  • Click "+ Add Files" to load one or more TSV files
  • Toggle "Has header row" if your files have column names
  • Set comment characters (default: #)

2. Preview Your Data

  • View a paginated table of your parsed data
  • Verify that all values were correctly interpreted as numbers

3. Configure Series

  • Select which columns to plot on X and Y axes
  • Choose colors, line styles, and markers
  • Apply transformations (log scale, square root, etc.)
  • Use secondary Y-axis for different scales

4. Customize Plot Settings

  • Select chart type
  • Add title and axis labels
  • Configure grid, legend, and figure size
  • Adjust font sizes for publication

5. Advanced Options

  • Derived Columns: Create new columns from expressions like col1 / col2
  • Filters: Exclude data outside specified ranges
  • Multi-file Alignment: Merge datasets by a common column
  • Layout: Overlay series or create separate subplots

6. Export

  • Choose format: PNG, SVG, PDF, or EPS
  • Set DPI for raster formats
  • Click "Export" to save your figure

Supported Chart Types

Category Chart Types
Basic Line, Scatter, Bar (vertical/horizontal)
Statistical Histogram, Box plot, Violin plot
Area Area, Stacked area
Specialized Stem, Step, Error bar, Pie, Polar

Mathematical Transformations

Available preset transformations:

  • Logarithmic: log, log10, log2
  • Power: square, cube, sqrt, cbrt
  • Trigonometric: sin, cos, tan, arcsin, arccos, arctan
  • Other: abs, inverse (1/x), exp, negate

Derived Columns: Create custom expressions like:

  • col1 / col2
  • sqrt(col1**2 + col2**2)
  • 0.5 * mass * velocity**2

Requirements

  • Python 3.10 or higher

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for:

  • Development setup instructions
  • Code style guidelines
  • Testing requirements
  • Pull request process

License

MIT License


Support


Acknowledgments

Built with:


Plottini - Making publication-quality graphs accessible to everyone.

Project details


Download files

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

Source Distribution

plottini-2026.2.3.tar.gz (80.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plottini-2026.2.3-py3-none-any.whl (46.5 kB view details)

Uploaded Python 3

File details

Details for the file plottini-2026.2.3.tar.gz.

File metadata

  • Download URL: plottini-2026.2.3.tar.gz
  • Upload date:
  • Size: 80.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for plottini-2026.2.3.tar.gz
Algorithm Hash digest
SHA256 bb876fc488290f42c1b67f6608ddb0892dda14fa430dec7cd7bfd4c53ab082c3
MD5 019e7940fd1cb5fb7820dcdd09cfa790
BLAKE2b-256 57be30f9104758be09aa105082bd1f0dc540ad7fb9db57399b2f2f9a184b0efc

See more details on using hashes here.

Provenance

The following attestation bundles were made for plottini-2026.2.3.tar.gz:

Publisher: publish.yml on lanthoor/plottini

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file plottini-2026.2.3-py3-none-any.whl.

File metadata

  • Download URL: plottini-2026.2.3-py3-none-any.whl
  • Upload date:
  • Size: 46.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for plottini-2026.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f32d96a2ac5e73a92979b392e6b49f28afe0fd6db5de577b11549b58032b7883
MD5 4e240870499d7a1e4e41bcea1d1cb67a
BLAKE2b-256 c440f3795c586f9b0746c0736873d8bf280b46bb882d94149b0e13cc9f2b60af

See more details on using hashes here.

Provenance

The following attestation bundles were made for plottini-2026.2.3-py3-none-any.whl:

Publisher: publish.yml on lanthoor/plottini

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page