Data Lab node
Recurrence
The recurrence plot: R(i, j) = 1 where the state at time i comes within Threshold of the state at time j (every channel is a coordinate — feed Embed’s Signal for a one-channel attractor). Threshold 0 = 10 % of the largest distance. Size caps the rows (the window is subsampled). Binary off keeps the distances. Recurrence Rate is the fraction of recurrent points, Determinism the fraction of them on diagonal lines — periodic = high, noise = low. Plot Heatmap.
Inputs
| Port | Type | Default |
|---|---|---|
| SignalThe Data Lab signal to analyse — a Signal node's output, a Window, or any float array with its sample rate. Multi-channel signals are handled per channel. | structure | — |
| ThresholdTwo states recur when closer than this (in the Signal’s unit); 0 = 10 % of the largest distance in the window. | float | 0 |
| SizeRows of the plot (16…512); the window is subsampled to fit. | int | 256 |
| BinaryOn: 1 where states recur, 0 elsewhere. Off: the distances themselves. | bool | true |
| Update RateHow many times per second the analysis is recomputed (default 5); 0 = every frame. Lower rates save CPU on long windows — a moved parameter always recomputes at once. | float | 5 |
Outputs
| Port | Type |
|---|---|
| SignalThe Data Lab signal to analyse — a Signal node's output, a Window, or any float array with its sample rate. Multi-channel signals are handled per channel. | structure |
| Recurrence Rate | float |
| Determinism | float |
| Threshold Used | float |
How It Works
Recurrence draws the recurrence plot: R(i, j) is 1 where the state at time i comes within Threshold of the state at time j. Every channel counts as a coordinate, so feed Embed's Signal to get a proper one-channel attractor analysis.
Threshold at 0 means 10 % of the largest distance in the window. Size caps the number of rows (the window is subsampled to fit). Turning Binary off keeps the raw distances instead of a black-and-white plot, which is often the prettier picture.
Two numbers summarise it: Recurrence Rate is the fraction of recurrent points, and Determinism is the fraction of those lying on diagonal lines — high for periodic systems, low for noise.
Plot it as a Heatmap.
Use Cases
- Periodic or not? — Diagonal stripes mean recurrence; a featureless wash means noise.
- Find regime changes — Blocks along the diagonal mark periods where the system behaved differently.
- Quantify with two numbers — Recurrence Rate and Determinism track structure over time as plain floats.
- Data art — Recurrence plots are visually striking and completely data-driven.
- Compare states — The same source before and after an intervention.
Tips
- Embed first for a single channel; a recurrence plot of one raw channel is much less informative.
- Threshold is the whole game. Too low gives an empty plot, too high a black one; aim for roughly 5–15 % recurrence.
- Size is quadratic in cost — 256 rows is already 65 000 comparisons per update.
- Keep Update Rate low (the default is 5 Hz) — this is the most expensive node in the lab.
- Non-binary mode with a good colour ramp makes a far more legible picture than black and white.
Open Recurrence in the interactive catalog →
Recurrence is one of 381 nodes in Grafit Pro.
Free download. Every feature for 7 days, no card. Then €99.99 once — or keep playing your projects as a Player.