Skip to main content

A versatile PyQt6 and Matplotlib-based plotting tool for CSV and SMV data files.

Project description

TouCAN-Plot

An interactive PyQt6 + Matplotlib plotting tool for CSV, SMV, and CAN bus log files.

Python License

Features

Supported File Formats

Format Description
.csv / .smv Comma or semicolon delimited data (auto-detected)
.mf4 / .mf4z ASAM MDF v4 measurement data (via asammdf)
.blf CAN bus binary log
.trc CAN bus trace log
.asc CAN bus ASCII log
.dbc CAN database for signal decoding (required with BLF/TRC/ASC)
  • Auto-detects Time / timestamp columns as the default X axis
  • CAN signals are forward-fill interpolated and named as Message.Signal

Plot Interaction

  • Shared X axis across all subplots with linked panning and zooming
  • Secondary Y axis support per series
  • Double-click a subplot to edit its series, or right-click for a context menu
  • Measure cursors — two draggable vertical cursors with a live delta table
  • Expression evaluator — create computed series from math expressions (e.g. sin("series_A") + "series_B" * 2)
  • Multi-file merge — overlay series from different files, each in its own tab
  • X axis switching — reassign the X column without losing subplot configuration
  • Per-series properties (label, color, linewidth, linestyle, marker) persisted across all redraws
  • Live mouse coordinates in the status bar

Toolbar

Button Action
Home Auto-fit all axes
Back / Forward Navigate view history
Pan Pan mode
Zoom Zoom rectangle mode
Customize Matplotlib per-curve property editor
Save Export figure to file
Add subplot Open the series selector
Fit Y Auto-fit Y axis keeping current X range
Measure Toggle measure cursors
X axis Select X axis column

Menus

  • File → Open (Ctrl+O) — open one or more files (multi-select)
  • File → Merge (Ctrl+M) — append files to the current session
  • Style → Customize plot style — preset, line mode, marker, text size, grid, legend
  • Style → Theme — Dark / Light (icons swap automatically)

Right-Click Context Menu

  • Add subplot above / below
  • Delete subplot
  • Legend: show/hide, position (14 options), orientation, text size
  • Line style: plot / step

Style Presets

Four built-in presets: Default, Style 1, IEEE, Other.

Installation

From PyPI (recommended)

Install the released package from PyPI:

pip install toucan-plot

Usage

# Open a CSV file
toucan-plot data.csv

# Open an MF4 measurement file
toucan-plot recording.mf4

# Open a CAN log with DBC decoding
toucan-plot recording.blf signals.dbc

# Open multiple files (merge mode)
toucan-plot file1.csv file2.csv

# Launch without files
toucan-plot

Requirements

  • Python ≥ 3.11
  • PyQt6
  • Matplotlib
  • NumPy
  • pyqtdarktheme
  • SciencePlots
  • python-can (for CAN log files)
  • cantools (for DBC decoding)
  • asammdf (for MF4 files)

License

MIT

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

toucan_plot-0.4.1.tar.gz (942.8 kB view details)

Uploaded Source

Built Distribution

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

toucan_plot-0.4.1-py3-none-any.whl (950.3 kB view details)

Uploaded Python 3

File details

Details for the file toucan_plot-0.4.1.tar.gz.

File metadata

  • Download URL: toucan_plot-0.4.1.tar.gz
  • Upload date:
  • Size: 942.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for toucan_plot-0.4.1.tar.gz
Algorithm Hash digest
SHA256 73588b0692b731b90f0ca89fcb4d50b6878decb7da5f5cf9326e77f9f7514813
MD5 0705e4dcbd01c6023b2682b834c5ca5a
BLAKE2b-256 7f3748feb3acdfd88a964cb0fb5f1a651e78613aa3955016652cdc64168126e0

See more details on using hashes here.

File details

Details for the file toucan_plot-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: toucan_plot-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 950.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for toucan_plot-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ee0f9785e9aa20bb1fc606a0d627d60999686fe6b3db851a3c15abb1c9c3b8ed
MD5 1f24c57d4670e9956e4b2d46549b4ff7
BLAKE2b-256 fe3bcfbc9316a24352b6b7e9ca7181d69031bd87be1d1f4e82720971c14b1b4e

See more details on using hashes here.

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