StateTransitions

class foxglove.layouts.StateTransitionsPanel

Track when values change over time.

For more information, see [the documentation](https://docs.foxglove.dev/docs/visualization/panels/state-transitions).

config: StateTransitionsConfig
title: str | None = None

The title of the panel.

class foxglove.layouts.StateTransitionsConfig

Configuration for the State Transitions panel.

is_synced: bool | None = None

Sync zooming and panning with other plots

paths: list[StateTransitionsSeries] | None = None

The list of series to display in the panel.

playback_bar_position: Optional[Literal['center', 'right']] = None

Position of the playback bar in the view

show_points: bool | None = None

Show a point for each incoming message

time_window_mode: Optional[Literal['automatic', 'sliding', 'fixed']] = None

Configure a sliding or fixed range of time. - 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

x_axis_label: str | None = None

Label displayed along the time axis

x_axis_max_value: float | None = None

Minimum time value to display (in seconds)

x_axis_min_value: float | None = None

Maximum time value to display (in seconds)

x_axis_range: float | None = None

Time range in seconds

class foxglove.layouts.StateTransitionsBaseCustomState

Display options for a discrete or continuous custom state

color: str | None = None
label: str | None = None
class foxglove.layouts.StateTransitionsDiscreteCustomState

A discrete state customization strategy

color: str | None = None
label: str | None = None
value: str | None = None

Value used for comparison against message data for state detection. The comparison is done using the ‘=’ operator.

class foxglove.layouts.StateTransitionsDiscreteCustomStates

Discrete state customization strategy

states: list[StateTransitionsDiscreteCustomState] | None = None

The list of discrete states to display in the panel.

class foxglove.layouts.StateTransitionsRangeCustomState

A range custom state for the customization strategy

color: str | None = None
label: str | None = None
operator: Optional[Literal['=', '<', '<=', '>', '>=']] = None

Operator used for comparison against message data for state detection

value: float | None = None

Value used for comparison against message data for state detection

class foxglove.layouts.StateTransitionsRangeCustomStates

Range state customization strategy.

otherwise: StateTransitionsBaseCustomState | None = None
states: list[StateTransitionsRangeCustomState] | None = None

The list of range states to display in the panel.

class foxglove.layouts.StateTransitionsSeries

A series to display in the panel.

custom_states: StateTransitionsRangeCustomStates | StateTransitionsDiscreteCustomStates | None = None
enabled: bool | None = None

Whether the series is enabled. If disabled, the series will not be displayed in the panel.

label: str | None = None

Label displayed in the legend for the series

timestamp_method: Optional[Literal['receiveTime', 'publishTime', 'headerStamp', 'customField']] = None

Timestamp used for message ordering - receiveTime: standard timestamp used for playback message ordering across the app - customField: any field within the message data containing sec and nsec integers - headerStamp: header.stamp ROS 1 or ROS 2 field containing sec and nsec integers (and special case of ‘custom field’) - publishTime: optional MCAP-specific field

timestamp_path: str | None = None

Message path containing a timestamp field on the same topic as the y-value path

value: str | None = None

Message path containing values for the series