EnginPlot

A plotter for engineers: efficient, compact, useful

Rapidly look at a data set and make sense of it. Point it at a file and the traces are on screen — tens of millions of samples, plotted and ready to explore.

Open the file you already have — RPC3, PLT, fstrm, CSV or space-separated text, tidy or not. No importing into Excel, Python or MATLAB first, and no per-format ritual: every data set opens the same way.

Do the analysis you need with time, frequency, histogram views which are intuitive.

No bling. Just raw function to help an engineer understand a data set.

EnginPlot showing ten channels of synthetic road-load data — a time-history plot above a power-spectral-density plot, with channel thumbnails on the left and a histogram panel on the right

All screenshots use synthetic data.

Features

Preview a channel before you plot itNew in 0.29

Point at a channel in the file tree and it is drawn on its own over the plot, the rest dimmed behind it, with its minimum, maximum, mean, RMS, crest factor and skewness underneath — and, on a frequency plot, its peak and roll-off, its noise floor, bandwidth and dynamic range. Read through twenty channels without plotting any of them.

Reads what you already have

RPC3, PLT/SimCreator, fstrm/Moog F‑Stream, CSV and space-separated text, with header, unit and date-time detection — and a CSV reader that opens files other tools refuse.

Time, frequency and histogram views

Time histories, PSD in engineering units or dB, cross-spectra as a matrix or overlaid, and per-channel histograms, all computed in the background so switching views is instant.

Layouts that fit the data

Overlay, stack one per row, or group rows by engineering unit — with a second Y-axis placed automatically when channels span very different ranges.

Data quality at a glance

NaNs, infinities, impossibly large values, subnormals and dead channels are flagged in the channel list — and plotted on a dedicated rail instead of wrecking the scale.

Cursor readout, with harmonics

Read values off either axis under the pointer. On a frequency plot the cursor lands a labelled line on every harmonic of the peak you point at.

Built for scale, zero install

Smooth at 150 million plotted points, from a single self-contained 1.3 MB .exe. No installer, no dependencies, no companion DLLs.

See all features

Coming soon

What I’m working on next, roughly in order. No dates — this is still a nights-and-weekends project.

X–Y plots Next up

Plot any channel against any other, rather than only against time — force against displacement, pressure against flow.

Frequency response functions

The transfer function between channels, magnitude and phase, alongside the PSD and cross-spectra already there.

More file formats

National Instruments TDMS first, then DEWESoft DXD. Other formats are welcome suggestions — see the note under About.

Units that know what they measure

Recognize each channel’s unit, mark what kind of quantity it is, and convert between units for display — g and m/s², say — without touching the recorded data.

Recordings side by side

Several files in the tree at once with same-named channels lined up in rows, for comparing one test run with the next.

About

I’m a big believer in software that is easy and intuitive to use.

The problem

In tools like MATLAB, Python and Excel, plotting is process- and script-driven. There’s an import step, then a processing step, then plotting, then often manual labeling — for a plot that is fixed in ways that are hard to change. It works, but it is unnecessarily cumbersome, not repeatable, requires large applications to be installed, and it gets in the way of the real question: what is in this data?

Over the years I tried to build the plotter I wanted — first in C++ with wxWidgets, then in Java, and then in C# with WPF. Each time I found myself fighting the UI framework, which was helpful and “in the way” at the same time. I found these frameworks very effective at standard UI features (buttons, text boxes, groupings), but doing something custom was challenging.

A different approach · 2023–2024

In the fall of 2023 I started watching Casey Muratori’s Handmade Hero video series and coding along with it. After a while I tried building a plotter his way: keep it simple and flat, one unity build, the plain Win32 API, all the rendering done by hand, no dependencies.

I wrote the plotting engine for speed, drawing pixels straight into memory and blitting them to the screen. It worked very well. I quickly had a plotter that was fast, small and minimally functional, and in 2024 I began using it for real work. I kept chipping away at features after that, but it was a nights-and-weekends project and progress was slow.

Bringing in AI · 2026

By December 2025 it was clear to me that AI-enabled agentic coding had turned a corner, and in the summer of 2026 I started experimenting with it. One of my first projects was this plotter. First I had the AI scan it for problems and fix the bugs it found, then write tests for each module. After that I started adding features — at first working closely with the AI, especially where performance was key, and then, for the nice-to-have features, with the AI doing the heavy lifting.

All of the AI work on this project has been done with Anthropic’s Claude: Opus 4.8, 5 and 5.5, and Fable 5 while it was free.

Why I’m sharing it

I built EnginPlot to be helpful to me, and I’m sharing it in the hope that others in the same boat find value in it too.

I’d be glad to hear from anyone who tries it — whether it proved useful, turned up a bug, or is missing a feature. I’m particularly interested in expanding the kinds of files it can read, so word of a format it can’t open yet is especially welcome.

Download

EnginPlot is free and runs on Windows 10+. Version 0.29, 1.3 MB, no installer.

Download latest release

Knew it as PlotIt? Download as PlotIt.exe — the same program under its earlier name, keeping its own settings.

View all releases

Nothing to open yet? Download example data (.zip, 1.2 MB) — all synthetic, generated for testing. Or generate your own with the sample-data scripts, or download real recordings from enDAQ, Kaggle, Mendeley Data and Epson.