Live streaming

plotpress.qt.LiveArtist streams data into a Qt window as it’s collected – patching the already-loaded page in place rather than reloading it, so it holds tens of Hz even on large lines and meshes where a full reload would collapse to 4-5 Hz. See the “Streaming live data” section of Viewing figures for the API itself and the measured numbers.

The examples here can’t drive a real QWebEngineView at doc-build time (CI has no Qt binding installed), so each renders the same acquisition sequence a LiveArtist would show live, frame by frame, as a GIF instead. Acquisition patterns covers the shapes data arrives in in the abstract (sparse vs. dense, growing vs. fixed extent); Lab instrument examples puts those shapes into the specific instruments a working lab actually watches update in real time.

Every example is split the same way real acquisition code would be: a callback that receives new data and pushes it to the plot (unchanged when you swap in a real Qt window), fed by a loop that simulates an instrument (the part meant to be replaced with your own driver). Copy one, swap its data source for real hardware, and the plotting side needs no other change.

Acquisition patterns

The shapes a real 2-D sweep – a lock-in scan, a resonance map, a scope trace stepping through its sweep window – actually arrives in: sparse or dense, raster-ordered or random, over a grid that’s known up front or one that grows as new extremes come in. Every example here renders that acquisition sequence as a GIF, frame by frame, for illustration; see Lab instrument examples for these same shapes applied to specific instruments.

Sparse, randomly-ordered acquisition

Sparse, randomly-ordered acquisition

Systematic acquisition with an autoscaling colour bar

Systematic acquisition with an autoscaling colour bar

An x axis whose extent isn’t known up front

An x axis whose extent isn't known up front

Both axes growing: a search window expanding outward

Both axes growing: a search window expanding outward

Point by point, raster order

Point by point, raster order

Point by point, with axes that grow to fit

Point by point, with axes that grow to fit

Lab instrument examples

The acquisition shapes in Acquisition patterns, applied to specific instruments a working lab actually watches update in real time – an oscilloscope’s rolling buffer, a titration’s growing curve, a raster scanning microscope’s point-by-point image, a detector’s accumulating hit map, two searches driven by the adaptive package’s own sampling strategy, and more. Each is the same kind of update a real plotpress.qt.LiveArtist would drive live; these render the sequence as a GIF since the doc build has no Qt binding to drive a real window with.

Oscilloscope rolling trace

Oscilloscope rolling trace

Spectrum analyzer sweep, with max-hold

Spectrum analyzer sweep, with max-hold

Titration curve, marking the equivalence point live

Titration curve, marking the equivalence point live

qPCR amplification curves, several wells at once

qPCR amplification curves, several wells at once

Chromatography trace with live peak detection

Chromatography trace with live peak detection

AFM/STM topography raster scan

AFM/STM topography raster scan

Particle-hit accumulation map

Particle-hit accumulation map

Cyclic voltammetry, cycle over cycle

Cyclic voltammetry, cycle over cycle

Bioreactor dashboard, four channels at once

Bioreactor dashboard, four channels at once

Radio telescope beam map, serpentine scan

Radio telescope beam map, serpentine scan

Adaptive search for a halo, with the adaptive package

Adaptive search for a halo, with the adaptive package

Adaptive search across several separated anomalies

Adaptive search across several separated anomalies

Gallery generated by Sphinx-Gallery