Products > Programming
Fast multi-channel real-time chart plotter software?
(1/1)
e100:
What plotting software are people using to analyze the real-time activity of a system?
I've written a simulator that is churning out a total of 200+ data points a second distributed across a dozen analog and digital on/off channels. I'm struggling to find an application that can actually plot 200 points a second without consuming vast amounts of CPU time or suffering from buffer overruns and corrupting the display.
I spent a few days looking at the MegunoLink plotter only to be disappointed at how badly it copes, despite running on a 3GHz i5 processor.
Berni:
Yeah i been having similar issues.
Some of the solutions i used is making a small CSV decimator CLI app where you can feed it a CSV file and tell it how many lines to discard. This is mostly useful for timeline logs where doping lines just means i have a more coarse time scale.
If it is something i am dealing with a lot, then i might write my own small visualization tool in C#. Tho due to using the .Net chart control it does struggle once you go too far into the millions of points. So for very large datasets id still add in some smart decimation that averages points together. There is a 3rd party chart control for C# out there that can handle absolutely gigantic amounts of data, but it is very expensive, so i never used it.
T3sl4co1l:
Gnuplot?
I don't recall it being too bad at hundreds or thousands of points, but it's been a while since I used it (namely in conjunction with Octave).
Could even go worse than a thin JS + HTML Canvas parser/viewer in a browser, assuming network availability (or suitable environment including DOM graphics and file system access). Some thousands of points should be effortless, more if you can do it by GPU assistance (at some level of scaling, WASM + WebGL would probably be warranted, or just do it native with C/++/#, SIMD optimizations, and GDI/DirectX/OpenGL output.
Or since it sounds very logic-analyzery, can you just hijack an existing one? Saleae performs very nicely with millions of points. If the file format is documented, I'd give that a serious look.
Tim
florian-x:
I've had the same question, and had chosen uPlot (https://github.com/leeoniya/uPlot). It's a library, so to make a real application from it, there's some way to go. I was planning to build one but haven't managed yet to do so.
Marco:
I think the problem isn't the 200x a second, the problem is all the previous 200s per second. If the software doesn't simplify the history through hierarchical filtering, it gets harder every second.
Unless you want a pure incremental display with a predetermined fixed timebase.
Navigation
[0] Message Index
Go to full version