Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
humble

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
jazzy

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
kilted

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
rolling

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
humble

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
humble

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
humble

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
humble

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
humble

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
galactic

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
foxy

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
iron

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
humble

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
humble

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
humble

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
humble

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
humble

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
melodic

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange

Package symbol

plotjuggler package from plotjuggler repo

plotjuggler

ROS Distro
noetic

Package Summary

Version 3.16.0
License MPL-2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version main
Last Updated 2026-04-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ros2-humble ros2-jazzy ros2-rolling Tweet

Gold Sponsor:

Greenzie Intermodalics Greenzie

PlotJuggler 3.17

PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.

Noteworthy features:

  • Simple Drag & Drop user interface.
  • Load data from file.
  • Connect to live streaming of data.
  • Save the visualization layout and configurations to reuse them later.
  • Fast OpenGL visualization.
  • Can handle thousands of timeseries and millions of data points.
  • Transform your data using a simple editor: derivative, moving average, integral, etc…
  • PlotJuggler can be easily extended using plugins.

PlotJuggler

Data sources (file and streaming)

  • Load CSV files.
  • Load ULog (PX4).
  • Subscribe to many different streaming sources: MQTT, WebSockets, ZeroMQ, UDP, etc.
  • Understand data formats such as JSON, CBOR, BSON, Message Pack, etc.
  • Well integrated with ROS: open rosbags and/or subscribe to ROS topics (both ROS1 and ROS2).
  • Supports the Lab Streaming Layer, that is used by many devices.
  • Easily add your custom data source and/or formats…

Transform and analyze your data

PlotJuggler makes it easy to visualize data but also to analyze it. You can manipulate your time series using a simple and extendable Transform Editor.

Alternatively, you may use the Custom Function Editor, which allows you to create Multi-input / Single-output functions using a scripting language based on Lua.

If you are not familiar with Lua, don’t be afraid, you won’t need more than 5 minutes to learn it ;)

Tutorials

To learn how to use PlotJuggler, check the tutorials here:

Tutorial 1 Tutorial 2 Tutorial 3

Supported plugins

Some plugins can be found in a different repository. The individual README files should include all the information needed to compile and use the plugin.

Please submit specific issues, Pull Requests and questions on the related Github repository:

If you want a simple example to learn how to write your own plugins, have a look at PlotJuggler/plotjuggler-sample-plugins

Installation

You can download the latest ready to use binaries from the Release page.

| 🐧 Linux | 🍎 macOS | 🪟 Windows | 📦 Debian | |:--------:|:--------:|:----------:|:---------:| | **AppImage** | **Installer** | **Installer** | **Packages** | | x86 / arm64 | x86 / arm64 | x64 | bookworm, trixie |

The snap contains a version of PlotJuggler that works (with some limitations) with ROS2.

Get it from the Snap Store

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package plotjuggler

3.17.0 (2026-04-27)

  • New plugin: ToolboxMosaico for Mosaico Flight datasets, with streaming pullTopics and per-topic download progress UI (#1340)
  • New plugin: Serial Port DataStreamer with nested-JSON support and robust port parsing (#1314)
  • New parser: OMG IDL support for ROS 2 message definitions (#1345)
  • New ToolboxCSV: rewritten CSV/Parquet export with single-file and multi-file modes, topic filter, time-gap segmentation and NaN/Null/Inf detection (replaces the legacy CSV export)
  • Function Editor: Python custom functions, library dialog, and UX refactor (red highlight on empty name, vertical splitter)
  • UDP DataStreamer: header-byte dispatch for multi-type payloads, with topic→descriptor mapping in the protobuf parser (#1144)
  • Add common statistics SISO transforms: RMS, MAV, stddev, peak-to-peak (#1325)
  • Fix CSV loading issues (#1338, addresses #850, #987, #1000)
  • Fix curve restoration when loading layout XML files (#1339)
  • dataload_ulog: support files larger than 2 GB (#1346)
  • parser_ros: emit Header fields per the schema, drop double-prefix (#1350)
  • rosx_introspection: parse bounded sequence syntax [<=N] (#1349)
  • MCAP: more resilient reading of corrupted files
  • AppImage: HiDPI scaling and theme isolation on GNOME (#1344)
  • Update Qt Advanced Docking to 4.5 and fix a Wayland issue
  • Fix tree view collisions when a curve path is also a parent node, and stale X-axis ordering / Parquet column list
  • Fix #749: wrap multi-file prefix dialog content in QScrollArea
  • Fix #464: -d flag data is no longer overwritten when a layout is also passed with -l
  • Fix #1052: segfault when a dock area is destroyed during mouse events
  • Fix #1080: vertical zoom no longer stuck at max 0.1
  • Fix #1291: use UTC when formatting epoch-based time axis labels
  • Fix #1014: deterministic attribute order in layout XML
  • Fix #1151: always save colormaps in layout XML
  • Fix #994: save/restore streaming buffer size in layout XML
  • Fix #1326: standalone time-like CSV columns kept as strings
  • Fix #1062: bump nlohmann_json to v3.13.0 for clang >= 19 compatibility
  • Fix #1324: keep internal series names aligned after prefix remap
  • Fix #967, #528: --buffer_size actually sets the value and the time slider updates on offset toggle
  • omgidl: enable /Zc:__cplusplus for MSVC to satisfy peglib's C++17 check
  • CI/build hardening: ros2-rolling typesupport, Conan/Homebrew ordering on macOS, dependabot bumps
  • Contributors: Alvvalencia, avalen2022, Davide Faconti, GNERSIS, Gor, Lanove, Per Hedblom, Thies Oelerich, Timo Stienstra, Valentin Platzgummer, dependabot[bot]

3.16.0 (2026-03-10) -----------* add plotjuggler and foxglove bridge plugins * fix Windows MSVC wasmer linking * fix: timestamp detection with array fields (#1310) * Add PlotGroup support to parsing plugins (topic/channel as group) * WebSocket dialog: dedicated Connect button, sorting, and UI polish * move to wasmer * Fix: No buttons appears / Can't select any topics (#1306) * much faster MCAP pre-loading and update to 2.1.2 * Replace StringRef with dictionary index in StringSeries. Fixes #1031 * Fix dangling StringRef pointers in StringSeries::clonePoints (#1279) * Fix WebSocket plugin: use project's zstd target instead of find_path *

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at Robotics Stack Exchange