Skip to content

← visualization package

TimeSeriesPlot

Plot a multi-channel continuous streaming time series in real time.

This node accepts streaming data, and maintains a view of the most recent n seconds of data (the window length is adjustable). The node is made for continuous (i.e., not segmented) data. If the stream_name is not specified, the first signal stream will be plotted. This node requires that the data have a time axis, and either a space (channels) or a feature axis. All other axes (e.g., frequency) are folded into a flat space axis. For better viewing, this node supports removing the mean of the data so that the signals are centered, as well as auto-scaling of the data to a standard scale (using the same scale factor for all channels), and these options are enabled by default. The node also provides keyboard shortcuts for changing the scale (+ and -), the displayed time range (* and /), and for toggling the auto-scaling (a) and zero-mean (z) options. For performance reasons the default max number of channels displayed is set at 32, which will displayed the first 32 channels in the data (if there are more than that). Use the PgDn and PgUp keys to show the next/prev set of 32 channels. You can also change the number of channels shown in the max_channels parameter. Note that this plotter is not meant for scrollable review of a non-streaming dataset; for that please use the ScrollingPlot node. Version 1.2.4

Ports/Properties

stream

Name of stream to plot. Wildcards are supported, i.e. mystream* will plot the first stream whose name starts with mystream.

verbose name
Select Stream To Display
default value
None
port type
StringPort
value type
str (can be None)

stream_name

verbose name
Stream Name
default value
None
port type
AliasPort
value type
str (can be None)

max_channels

Max number of channels to display at once. Note that a large number of channels can slow the plot down considerably, and is not recommended. Alternatively, instead of increasing this, use the PgUp/PgDn (or u/d) keys in the plot window to show the prev/next set of n channels (where n is this number).

verbose name
Max Channels To Plot
default value
32
port type
IntPort
value type
int (can be None)

auto_line_colors

Automatically assign a different color to each line or bar. Takes precedence if selected. See colormap property to determine the color selection.

verbose name
Auto Assign Colors
default value
True
port type
BoolPort
value type
bool (can be None)

colormap

Colormap to use for auto assign colors. (See matplotlib online documentation for colormap examples.)

verbose name
Colormap
default value
gist_rainbow
port type
EnumPort
value type
str (can be None)

background_color

Background color. This can be hexadecimal (hex) notation (#RRGGBB) or CSS named colors ('white'). One resource (among many) that provides a list of both hex and CSS named colors is https://www.w3.org/wiki/CSS/Properties/color/keywords.

verbose name
Background Color
default value
#303030
port type
StringPort
value type
str (can be None)

decoration_color

Color of the axis labels and ticks. (See background_color description for details.).

verbose name
Decoration Color
default value
#B0B0B0
port type
StringPort
value type
str (can be None)

plot_minmax

Display min and max values of original data irrespective of scaling.

verbose name
Show Data Min/max Values
default value
False
port type
BoolPort
value type
bool (can be None)

title

Title of the plot window. The placeholders $(streamname), $(sourceid), and $(sourceurl) can be used here.

verbose name
Title
default value
port type
StringPort
value type
str (can be None)

initial_dims

Initial position of the window on the monitor. This is given in pixels, and is formatted as [x, y, width, height]. If x, y are set to 0 each, then the window will appear in the top left corner of the current screen.

verbose name
Window Position
default value
[50, 50, 1000, 800]
port type
ListPort
value type
list (can be None)

left_offset

Left offset of the window on the monitor. The x value in the initial window position property will be increased by this amount. Use this to shift all plots to a second monitor, for example. May be a negative number (i.e., to move plots to a window to the left).

verbose name
Left Offset
default value
0
port type
IntPort
value type
int (can be None)

show_toolbar

Show the window toolbar (which provides some additional functions).

verbose name
Show Toolbar
default value
False
port type
BoolPort
value type
bool (can be None)

always_on_top

Window should be always on top. If this is enabled, then the window will not be occluded by other windows.

verbose name
Display Window Always On Top
default value
False
port type
BoolPort
value type
bool (can be None)

tight_layout

Reduce the amount of white space around the plot within the window.

verbose name
Tight Layout
default value
True
port type
BoolPort
value type
bool (can be None)

font_size

Font size (in points) of text plotted outside the plot axes, such as axis labels, legend, etc.

verbose name
Font Size
default value
11
port type
FloatPort
value type
float (can be None)

annotation_font_size

Font size (in points) for text which appear inside the plot axes, such as markers, scale, etc.

verbose name
Annotation Font Size
default value
11
port type
FloatPort
value type
float (can be None)

antialiased

Draw graphics antialiased. If set to False, lines will appear more pixelated or 'jaggy', but plotting should render faster.

verbose name
Draw Antialiased Lines
default value
True
port type
BoolPort
value type
bool (can be None)

max_redraw_hz

Maximum redraw rate of this plot in Hz. Limits how often the matplotlib canvas is repainted (and, when the plot feeds a Plot Dashboard, how often the dashboard re-renders the corresponding panel). None means use the Plot Dashboard's default for downstream panels and no throttle for this node's own window. 0 means no throttle (legacy behavior, draw on every tick). A positive value is the upper bound on the redraw rate. Reducing this is particularly useful for nodes whose draw is expensive (e.g. matplotlib tables, which are heavy on macOS due to CoreText).

verbose name
Max Redraw Rate (Hz)
default value
None
port type
FloatPort
value type
float (can be None)

line_color

Color of the lines. (See background_color description for details.)

verbose name
Line Color
default value
white
port type
StringPort
value type
str (can be None)

zero_color

Color of the grid lines. (See background color description for details.)

verbose name
Zero Color
default value
#606060
port type
StringPort
value type
str (can be None)

line_width

Width of the lines (or bars).

verbose name
Line Width
default value
1.25
port type
FloatPort
value type
float (can be None)

label_rotation

Orientation of plot Y axis tick labels.

verbose name
Label Rotation
default value
horizontal
port type
EnumPort
value type
str (can be None)

x_label

Label for the X axis. Leave empty to automatically use a suitable default.

verbose name
X Label
default value
port type
StringPort
value type
str (can be None)

y_label

Label for the Y axis. Leave empty to automatically use a suitable default.

verbose name
Y Label
default value
port type
StringPort
value type
str (can be None)

verbose

Print additional information such as if the incoming packet has no data to plot, etc.

verbose name
Verbose
default value
False
port type
BoolPort
value type
bool (can be None)

track_window_position

Track the window position and print the new position in the console. This is useful for setting the window position property.

verbose name
Track Window Position
default value
False
port type
BoolPort
value type
bool (can be None)

suppress_window

Suppress the display window. When enabled, the node will not open a plot window; use this when feeding the figure output into a Plot Dashboard node.

verbose name
Suppress Window
default value
False
port type
BoolPort
value type
bool (can be None)

figure_out

Plot data for PlotDashboard (PlotData).

verbose name
Figure Out
default value
None
port type
DataPort
value type
object (can be None)
data direction
OUT

data

Data to display.

verbose name
Data
default value
None
port type
DataPort
value type
Packet (can be None)
data direction
INOUT

value

Optional scalar value to display as a text overlay in the plot (e.g ., a computed BPM while showing a PPG trace). Expects a Packet whose first chunk contains a block with a single numeric element (i.e., block.data is a 1-element array). If the block contains multiple elements, only the first is used.

verbose name
Value
default value
None
port type
DataPort
value type
Packet (can be None)
data direction
INOUT

x_axis

Axis containing the data to plot along the X axis. Usually this is time, but may also be instance if plotting trials rather than time points. This axis must contain a field named 'times'.

verbose name
X Axis
default value
time
port type
ComboPort
value type
str

y_axis

Axis containing the data to plot along the Y axis. You may also additionally specify an axis label such as 'feature.concentrations'.

verbose name
Y Axis
default value
space
port type
ComboPort
value type
str

time_range

Time range to display. This is the number of seconds of recent data that shall be plotted.

verbose name
Time Range To Display
default value
5.0
port type
FloatPort
value type
float (can be None)

absolute_time

Show absolute time in time axis. If this is enabled, then the absolute time stamps of the data will be displayed on the axis. These will depend on the data, and you can use the ShiftTimestamps node prior to this node to reset them to 0 relative to the start of the data. If this property is false, the X axis will show the time relative to the most recent time point in the data (i.e., the current time point is 0.0, and 3 seconds earlier would be displayed as -3.0).

verbose name
Display Absolute Times
default value
False
port type
BoolPort
value type
bool (can be None)

plot_markers

Display event markers as vertical lines.

verbose name
Plot Markers
default value
False
port type
BoolPort
value type
bool (can be None)

marker_color

Color of vertical lines for marker events. Either a string (see background_color description), or a dictionary that represents a mapping from event type to color (the special key '*' stands for all other markers).

verbose name
Marker Color
default value
darkorange
port type
Port
value type
object (can be None)

stacked

Display channels stacked on top of each other (default) or superimposed using the same Y axis. When stacked mode is off, all channels share the same Y axis and are drawn on top of each other. You can toggle this with the 's' key.

verbose name
Stacked Mode
default value
True
port type
BoolPort
value type
bool (can be None)

y_range

Range of values for the Y axis when in unstacked (superimposed) mode, as a two-element list [min, max]. If set to [0, 0], the range is determined automatically from the scale property. This property has no effect in stacked mode.

verbose name
Y Axis Range
default value
[0, 0]
port type
ListPort
value type
list (can be None)

zeromean

Display data with mean corrected to zero. This makes sure that each channel is centered for better viewing. If this is disabled, your data may be outside the window, especially if you have not performed high-pass filtering on your signal. Enabling this may make the curves appear to shift up or down if their mean is not already zero.

verbose name
Center (Zero-Mean) Channels
default value
True
port type
BoolPort
value type
bool (can be None)

scale

Data scale. Increasing this value will magnify the plot curves correspondingly. You can also use the + and - keys to change the scale interactively.

verbose name
Data Scale Factor
default value
1.0
port type
FloatPort
value type
float (can be None)

autoscale

Automatically scale channels to a standard scale. This makes sure that channels are rescaled such that they fit comfortably in the drawing area. All channels are rescaled by the same scale factor. Enabling this may make the curves appear to change scale suddenly, especially when large artifacts come into view or go out of view.

verbose name
Autoscale Data
default value
True
port type
BoolPort
value type
bool (can be None)

nans_as_zero

Show NaN values as zero.

verbose name
Nans As Zero
default value
False
port type
BoolPort
value type
bool (can be None)

no_concatenate

Don't concatenate successive data. Can be used to display the content of a sliding window (e.g., MovingWindow node).

verbose name
No Concatenate
default value
False
port type
BoolPort
value type
bool (can be None)

value_label

Label to display next to the overlay value (e.g ., 'BPM'). If empty, just the number is shown.

verbose name
Value Label
default value
port type
StringPort
value type
str (can be None)

value_decimals

Number of decimal places for the overlay value. Set to 0 to display as an integer.

verbose name
Value Decimals
default value
1
port type
IntPort
value type
int (can be None)

override_srate

Deprecated; use the OverrideSamplingRate before this node if necessary.

verbose name
Override Srate
default value
None
port type
FloatPort
value type
float (can be None)

set_breakpoint

Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

verbose name
Set Breakpoint (Debug Only)
default value
False
port type
BoolPort
value type
bool (can be None)

metadata

User-definable meta-data associated with the node. Usually reserved for technical purposes.

verbose name
Metadata
default value
{}
port type
DictPort
value type
dict (can be None)