High performance real-time data display

I am trying to find a tool for building data (mainly line graphs, etc.) that can be used for high-performance applications. My data window usually contains between 500 and several thousand dots, and I would be happy with a frame rate of 10 or so. I get my data as a binary stream in a socket. I am on Mac OS X.

I tried several solutions, and I talk about my experiences with them below.

R : terribly slow and unable to keep up, it hurts to read sockets, the schedule flickers.

matplotlib : Pretty slow, but a bit useful, too. However, this requires a ton of Python machines, and the IMO API is pretty opaque. With constant updating, the window containing the graph becomes modal and the Mac sea beach appears - not suitable for user interaction.

Gnuplot : greatly improved performance and API. However, transferring large amounts of data to gnuplot occurs by generating temporary ASCII files (!) - this means that if my frame rate increases, I start to do thin disk reads, and this is a performance problem.

Any other suggestions?

+5
source share
3 answers

gnuplot, , , . :

plot "data_acquisition_cmd <" with image

, :

load "while [ 1 ]; do echo 'replot'; done <"

gnuplot Perl, GnuplotIF Python (gnuplot.py), gnuplot, .

: Jonhoo

+4

Qwt library has the ability to display data in real time. There are a couple of examples in the source tree that provide various ways to plot in real time. It is noteworthy that I would suggest looking at the oscilloscope, updating and viewing in real time.

In addition, there may also be a recent discussion on the mailing list .

0
source

All Articles