Live scrolling plot

Visualize a live stream of several plots, scrolling horizontally to keep a fixed window of data.

Used Rerun types used-rerun-types

Scalar

Setting up the blueprint setting-up-the-blueprint

In order to only show a fixed window of data, this example creates a blueprint that uses the time_ranges parameter of the TimeSeriesView blueprint type.

We dynamically create a TimeSeriesView for each plot we want to show, so that we can set the time_ranges. The start of the visible time range is set to the current time minus the window size, and the end is set to the current time.

rr.send_blueprint(
    rrb.Grid(
        contents=[
            rrb.TimeSeriesView(
                origin=plot_path,
                time_ranges=[
                    rrb.VisibleTimeRange(
                        "time",
                        start=rrb.TimeRangeBoundary.cursor_relative(seconds=-args.window_size),
                        end=rrb.TimeRangeBoundary.cursor_relative(),
                    )
                ],
                plot_legend=rrb.PlotLegend(visible=False),
            )
            for plot_path in plot_paths
        ]
    ),
)

Run the code run-the-code

To run this example, make sure you have the Rerun repository checked out and the latest SDK installed:

# Setup
pip install --upgrade rerun-sdk  # install the latest Rerun SDK
git clone git@github.com:rerun-io/rerun.git  # Clone the repository
cd rerun
git checkout latest  # Check out the commit matching the latest SDK release

Install the necessary libraries specified in the requirements file:

pip install -e examples/python/live_scrolling_plot

Then, simply execute the main Python script:

python -m live_scrolling_plot