Pylot: A Simple Python Plotter
Project description
Open one or more CSV files, choose your X and Y columns, and plot — in seconds. Mix series across files, style each one independently, compute error metrics, and export publication-ready figures. Runs on Linux, Windows, and macOS.
Install
pip install pylot-plotter
Then launch from anywhere:
pylot
Linux — the application menu entry is registered automatically on first launch.
Windows — run pylot-register once after installing to add a Start Menu shortcut (it also runs automatically on first launch):
pylot-register
Quick start
- File → Open CSV… (or drag-and-drop) — load one or more files.
- Series tab — each row is an independent series. Pick X and Y columns from any loaded file, choose Line or Scatter, and hit Plot.
- Appearance / Axes tabs — toggle grid, log scale, limits, fonts, and annotations.
- Export tab — save as PNG, PDF, or SVG at any DPI.
Features
Data loading
- Load multiple CSV files at once; auto-detects delimiters (comma, semicolon, tab, …)
- Inline preview table shows up to 1 000 rows per file
- Recent files menu (last 8 files) with one-click re-open
- Duplicate filenames get automatic
(2),(3)suffixes so nothing overwrites
Series
- Per-series X / Y pickers — any column from any loaded file; cross-file pairs work as long as lengths match
- Line or Scatter per series, plus a right Y-axis option (
Line (R)/Scatter (R)) - Drag rows to change plotting / legend order
- Add all columns — one click to plot every numeric column against the first column
- Duplicate a series (copies style and data selection in one click)
- Show / hide individual series without deleting them
- Color swatch in the table — click directly to change color without opening a dialog
Style (per series)
- Color, line style, line width, opacity
- Marker symbol: Circle, Square, Triangle, Diamond, Plus, Cross, Star, Point, or None
- Marker edge outline on / off
- Scatter point size
Appearance tab
- Grid lines, X / Y log scale, equal aspect ratio
- Custom axes W : H — control the plot box proportions independently of data units
- Reference lines — horizontal or vertical marker lines at any position, each with its own color / style / width / opacity
- Fill bands — shaded axhspan / axvspan regions with custom color and opacity; useful for tolerance bands or highlighted ranges
Axes tab
- Axis labels and title (
#noneto suppress any of them) - Manual X / Y limits (blank = auto)
- Tick label size and tick count, controlled per-axis
- Font family picker (all system fonts, live preview in the plot)
- Legend: position, frame, show / hide
- Spine (border) width
- Text annotations — place styled text anywhere using axes coordinates (0 – 1) or data coordinates
Metrics tab (hidden by default)
- RMSD, MAE, MSE computed between any two numeric columns
- Works across files (same-length requirement)
- Add to plot checkbox injects each metric as a text annotation on the figure
- Per-metric annotation settings: position, font size / weight, color, alignment, units, decimal places
Enable the Metrics tab via the ⚙ button on the tab bar.
Export
- PNG, PDF, SVG with automatic extension management
- DPI control (72 – 600) for raster formats
- Transparent background (respected in the exported file)
- All export settings persist between sessions
App
- Publication-style defaults via SciencePlots (
science, notebook) — DejaVu Serif, clean spines, no grid - Undo / Redo (Ctrl+Z / Ctrl+Y) for series, reference lines, fill bands, and annotations — 20-level history
- Tab visibility — show / hide individual tabs via the ⚙ corner button; choice persists across sessions
- Window geometry, splitter position, and export settings all persist between sessions
- Reset view button on the plot toolbar — redraws from current settings, undoing any zoom / pan
Keyboard shortcuts
| Action | Shortcut |
|---|---|
| Open CSV | Ctrl+O |
| Undo | Ctrl+Z |
| Redo | Ctrl+Y |
| Quit | Ctrl+Q |
Requirements
- Python 3.9+
- PySide6 ≥ 6.5
- pandas ≥ 2.0
- matplotlib ≥ 3.7
- scienceplots ≥ 2.1
- qtawesome ≥ 1.3
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pylot_plotter-1.0.1.tar.gz.
File metadata
- Download URL: pylot_plotter-1.0.1.tar.gz
- Upload date:
- Size: 59.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
844132c541d49bb6f7e9f89ed06bd738af0853e9c1003e94dc8d079070a4759d
|
|
| MD5 |
d3f3eb3d414a4480fae2bdf521f05916
|
|
| BLAKE2b-256 |
3474bc1a6127c6258b7b14a1614c9b48317f2ea80b2ca0f8d53e3b31523a0820
|
File details
Details for the file pylot_plotter-1.0.1-py3-none-any.whl.
File metadata
- Download URL: pylot_plotter-1.0.1-py3-none-any.whl
- Upload date:
- Size: 64.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9b36566be21a5fdeda1f9b04a7819b271639eb136d1bebe1c4260b6dcad2306
|
|
| MD5 |
99e7a1b0c5de0dab6d3d7852fe947d62
|
|
| BLAKE2b-256 |
913b43c1eef5adcd1854d34e2fc2c6c6a541cc7c165b7b69ef06493333dc8e69
|