Visualize
How-to guides for visualizing data in the Rerun Viewer.
-
Limit the viewer's memory usage
Set the Viewer's memory limit, find out why memory keeps growing, and open recordings that are larger than RAM
-
Diagnose latency and performance
Find out what is slow with the latency indicator and the built-in profiler, and what to do when the Viewer can't keep up or uses CPU while idle
-
Some of my data is not shown
Why logged data, labels, views, or plot series can be missing from the Viewer, and how to make them show up
-
View data from a remote or headless machine
Stream data from a remote server, Docker container, or SSH session to a Viewer on your own machine
-
Use multiple native viewers
Run several Viewer windows on different gRPC ports
-
Control playback and drive the Viewer from code
Set the timeline, playback speed, FPS, looping, and play state, seek the time cursor, and open recordings or take screenshots from code
-
Export screenshots, videos, and point clouds
Save or copy a screenshot of a view, take screenshots from code or the command line, and export data such as videos or point clouds
-
Control the 3D camera
Set the 3D view camera (eye) position, look target, and up axis from code, follow an entity, and choose orbital or first-person controls
-
Implement custom visualizations (Rust only)
Extend the Rerun Viewer UI using Rust and egui
-
Customize plots
Set plot series names, colors, and line widths, axis ranges, error bands, XY plots, histograms, and spectra that change over time
-
Show trails, history, and sliding time windows
Use visible time ranges to show trails and a scrolling window of past data in 2D, 3D, and plot views, and link the time axis of several plots
-
Visualize fixed-window plots
Configure time series views to show a sliding window
-
Show a subset of plotted series
Hide individual series of a multi-value scalar plot
-
Component mappings
Redirect a visualizer's input to a different component, for example to switch the coloring of a point cloud (by height, intensity, or class) per view
-
Show text labels in 2D and 3D
Add text labels to points, boxes, arrows, and lines, show labels for many instances, and place a standalone text label in a scene
-
Control mesh appearance
Mesh colors, textures, transparency, normals, and lighting for Mesh3D and Asset3D, and why a mesh looks flat or unlit
-
Visualize depth images, heightmaps, and voxels
Turn a depth image into a 3D point cloud, show heightmaps and elevation grids as meshes, and show voxel grids and dense volumes
-
Visualize uncertainty and covariance
Show covariance ellipsoids in 3D, covariance ellipses in 2D, error bands in plots, and Gaussian splats
-
Visualize geospatial data
Use the map view with GPS-style latitudes and longitudes
-
React to events in the Viewer
Add buttons, sliders, or callbacks to the Viewer, and react to selection and time changes in web, Jupyter, or Rust
-
Building blueprints programmatically
Configure the Viewer layout in code using the Blueprint API in Python or Rust
-
Configure table layouts and segment previews
Use Python table blueprints to customize catalog tables and dataset segment tables
-
Plot any scalar
Plot numerical data that wasn't logged with Rerun semantics
-
Visualize state changes and events
Show discrete states, events, and time spans (like a Gantt chart) over time, with one lane per entity or instance
-
Show and filter text logs
Log text messages, forward Python logging, and choose the columns and log levels shown in the text log view