I am working on real-time data acquisition and visualization software for a scientific measurement device. The software gathers data from the device, and plots the data in real time. Data is generally gathered for a few minutes, and then stops. The user then saves the data to a spreadsheet file for further processing.
In some cases (not rarely, but not all the time), the data from the measurement device will be "out of range", i.e. beyond the measurable limit. Forcing the data to the value of the measurable limit is misleading and erroneous since it's value is not known.
Most of the time when the data is out-of-range it's for a short period of time such as a few seconds or less. In some cases it will just be a transient spike lasting only a few data points. This is generally not a problem, but indicates that the user should probably change some settings before they run the acquisition again.
If the data is out of range for an extended period of time, this is an indication that something is probably wrong. The longer the data is out of range for, the more likely it's due to a problem with the user's actual experiment or the device settings set by the user. That doesn't mean the user must abort it, but it does mean that they need to be clearly informed that there is a probable issue.
To complicate things further, there are 16 independent measurements being plotted at the same time on the same plot. Some may be out of range while others are not.
With respect to the situations described above, what's a good way to indicate to the user that the data for a given channel is out of range in the real-time plot?
My Ideas and Attempts
One prototype I've written shows the text "Out of range" next to a channel in the legend on the plot while data being received is out-of-range. This only works if the user is watching the legend at the exact moment that out-of-range data is received. There's no lasting indication to the user that data was out of range if they weren't there to see it, until they view the saved data file at the end. As a modification on this, I may have the "Out of range" text slowly fade out if there is no more out of range data, to make it easier to see transients.
Another idea is to show a running tally of the number (or proportion) of out of range data points for each channel.