Skip to main content

State Transitions panel

The State Transitions panel visualizes changes in discrete values from your topic message paths. Use message path syntax to specify which values to track.

The panel displays data for specified topics across the entire visualization time range.

Current playback time will be indicated by a vertical gray bar.

state transitions panel

Paths can point to any primitive value (numbers, booleans, enums, etc.), but will be most useful for enums.

note

Constants included in your ROS message definition will be displayed as a label for each "enum" plot. Limit enums to one per message definition, as Foxglove will not know which constant name to use in the event of multiple matches.

Settings

General

fielddescription
Sync with other plotsSync zooming and panning with other plots
Show pointsShow a point for each incoming message

X-axis

fielddescription
Axis labelLabel displayed along the time axis
Time window
  • Automatic Last 30 seconds for live data, or the full time range for recorded data
  • Sliding Specify a sliding time window that follows the current playback time
  • Fixed Set fixed min and max values
Window sizeFor Sliding time window: range of time in seconds
Playhead positionFor Sliding time window: either at the center or the right edge
MinFor Fixed time window: min value in seconds
MaxFor Fixed time window: max value in seconds

Series

fielddescription
Message pathMessage path containing values for the series
LabelLabel displayed in the legend for the series
Timestamp

Timestamp used for message ordering:

  • Log time is the standard timestamp used for playback message ordering across the app
  • A custom field can be any field within the message data containing sec and nsec integers
  • Header stamp is a header.stamp ROS 1 or ROS 2 field containing sec and nsec integers (and special case of 'custom field', above)
  • Publish time is an optional MCAP-specific field
Customize

State customization strategy:

  • Labels and colors allow you to override existing states in the data
  • Continuous value indicators allow you to map ranges of numbers to a set of discrete states

Labels and colors

These options are visible when Customize is set to Labels and colors. Use these options to override the colors and labels of existing states in your data.

labels and colors

fielddescription
ValueWhen this value matches a state in your data, the overrides below are applied
LabelOverride for state text label
ColorOverride for state color

Continuous value indicators

These options are visible when Customize is set to Continuous value indicators. The section lists all range rules in order of precedence, and also includes a fallback Otherwise state.

continuous value indicators

fielddescription
ComparisonOperator used to determine if the continuous value matches the range
ValueReference value used for comparison
LabelText label to be displayed when a value is in this range
ColorColor to be displayed a value is in this range

Controls and shortcuts

Pan and zoom

To pan, click and drag using the mouse or trackpad.

To zoom, scroll using the mouse wheel or trackpad. Alternatively, enable the Zoom tool by clicking the button in the toolbar or pressing z on your keyboard:

zoom tool

With the Zoom tool on, click and drag to select an area:

zoom highlight

Click the Reset view button in the panel toolbar (or double-click the panel) to reset to the original viewport, as defined by your panel's range settings:

reset view

Scroll vertically

Sometimes not all series fit in the viewport. To scroll vertically, you can:

  • Press Shift while scrolling anywhere in the panel
  • Scroll over the scrollbar
  • Drag the scrollbar

Click-to-seek

Hover over any point on the state transition chart to see state details at the time in a tooltip. You'll see a vertical yellow bar appear, as well as a corresponding yellow marker at the same time on the playback timeline. Click to seek playback to the yellow marker on the timeline.

note

Only available for recorded data.