plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

Tags No category tags.
Version 3.6.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 2022-09-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ROS1 ROS2 Tweet

Gold Sponsor: Greenzie

PlotJuggler 3.6

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 re-use 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.
  • Understands 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, that 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 plugin 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

Binary installers

Note that these installers do not include ROS plugins.

Linux AppImage (compatible with Ubuntu 20.04 or later): PlotJuggler-3.6.0-x86_64.AppImage

Windows Installer: PlotJuggler-Windows-3.6.0-installer

Debian packages for ROS User

Install the ROS packages with:

sudo apt install ros-$ROS_DISTRO-plotjuggler-ros

To launch PlotJuggler on ROS, use the command:

rosrun plotjuggler plotjuggler

or, if are using ROS2:

ros2 run plotjuggler plotjuggler

ROS plugins are available in a separate repository: https://github.com/PlotJuggler/plotjuggler-ros-plugins

Refer to the instructions in that repository if you want to compile PJ and its ROS plugins from source.

Install with Snap

This massive file will install a version of PlotJuggler that can work with both ROS1 and ROS2.

Get it from the Snap Store

sudo snap install plotjuggler

When launching you have two options available:

  • plotjuggler.ros to load the ROS1 plugins
  • plotjuggler.ros2 to load the ROS2 plugins

In addition, the command plotjuggler is an alias to plotjuggler.ros. If you'd prefer to alias plotjuggler.ros2 instead, you can do so with the command sudo snap set plotjuggler ros-plugin-version=2. Revert it simply replacing 2 with 1. Note that this also affect the desktop launcher.

Compile from source

You can find find the detailed instructions here: COMPILE.md.

Sponsorship and commercial support

PlotJuggler required a lot of work to be developed; my goal is to build the most intuitive and powerfull tool to visualize data and timeseries.

If you find PlotJuggler useful, consider making a donation on PayPal or become a Github Sponsor.

If you need to extend any of the functionalities of PlotJuggler to cover a specific need or to parse your custom data formats, you can receive commercial support from the main author, Davide Faconti.

License

PlotJuggler is released under the Mozilla Public License Version 2.0, which allows user to develop closed-source plugins.

Please note that some third party dependencies (including Qt) use the GNU Lesser General Public License.

Stargazers

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

3.6.0 (2022-08-13)

  • More memes
  • Refactoring of the MessageParser plugins
  • Mcap support (#722)
  • Improve CSV loader error handling (#721)
  • Fix plotwidget drag and drop bug (Issue #716) (#717)
  • fix(snap): remove yaml grade (#718) grade is set from the part YAML grade has priority over the programmed one so we remove it
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc

3.5.2 (2022-08-05)

  • fix issue #642
  • fix FFT toolbox
  • Add options for enabling/disabling autozoom in preferences (#704)
  • add support for custom window titles (#715)
  • Fix/snap rosbag (#714)
  • fix mosquitto build in linux
  • Better cmake (#710)
  • fix #707
  • better installation instructions
  • fix(snap): reapply changes remove by the merge of main (#703)
  • save ColorMaps in layout
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc, grekiki

3.5.1 (2022-07-25)

  • Dev/ros1 ros2 snap (#698)
  • update nlohmann json to fix #640
  • should prevent error #696
  • Merge branch \'improved_zoomout\' into main
  • cleanup after #702
  • Statistics dialog improvements and bug fixes (#702)
  • Include std::thread instead of QThread, since it is being utilized in the mqtt plugin instead of QThread. (#700)
  • fix zmq compilation
  • cherry picking from #698
  • increase playback step precision (#692)
  • Fix typo in ColorMap warning (#693)
  • Set buttonBackground icon in .ui file (#694)
  • Update README.md
  • Fix #697
  • update sol2 and fix #687
  • try to improve the linked zoomout
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc, Hugal31, ozzdemir

3.5.0 (2022-07-12)

  • license changed to MPL 2.0
  • Macos ci (#685)
  • Add CSV table preview and CSV highlighting (#680)
    • Add CSV table preview and CSV highlighting
    • add toggles for enabling CSV table view and syntax highlighting
  • Fix start/end time bug in CSV Exporter (#682)
  • Add tooltips to CSV publisher buttons (#683) -Add tooltips to the buttons that set the start/end time based on vertical time tracker position -add missing space in text (\"timerange\" to \"time range\")
  • Fix #415
  • add statistics
  • Add background editor
  • fix crash in Parquet plugin
  • Add line numbers to csv loader (#679)
  • Fix type-o in reactive script editor (#678) missing \"r\" in \"ScatterXY\"
  • Contributors: Bartimaeus-, Davide Faconti

3.4.5 (2022-06-29)

  • fix compilation
  • add QCodeEditor
  • CI: cmake ubuntu/Windows
  • Fix CSV generated time axis. (#666) Previously the CSV dataload plugin was not saving the correct XML state when a generated time axis was used.
  • Added support for converted int types (#673)

    • Added support for converted int types

    * Added fallback for int32 and int64 Co-authored-by: Rano Veder <r.veder@primevision.com>

  • Add tooltip to the zoom out button (#670)

  • PlotJuggler will generate its own cmake target

  • Parquet plugin (#664)

  • fix Cancel button in CSV loader (#659)

  • Make tutorial link open in browser when clicked (#660) Similar to https://github.com/facontidavide/PlotJuggler/pull/658 but applied to the tutorial link in the reactive lua editor

  • accept white lines in CSV

  • Update README.md (#661)

  • Make link open in browser when clicked (#658) Set openExternalLinks property of label_4 to true to allow the hyperlink to open in a web browser when clicked

  • Fix #655. Add autoZoom to transform dialog

  • Rememvber CSV time column. Cherry picking from #657.

  • fix #650

  • Contributors: Andrew Goessling, Bartimaeus-, Davide Faconti, Konstantinos Lyrakis, Rano Veder, Zach Davis

3.4.4 (2022-05-15)

  • fix issue #561
  • add STATUS to CmakeLists.txt message() to avoid \'message called with incorrect number of arguments\' (#649) cmake 3.22.1 errors on this
  • Passing CI on ROS2 Rolling (#629)
    • fix ament-index-cpp dependency on ubuntu jammy
    • add rolling ci
  • Modify install command and make it easier to install (#620)
  • Contributors: Davide Faconti, Kenji Brameld, Krishna, Lucas Walter

3.4.3 (2022-03-06)

  • Apply changes to reactive Scripts
  • improve reactive Scripts
  • clear selections when CustomSeries is created
  • save batch function settings
  • cleaning up #601
  • Timestampfield (#601)
  • add new batch editor
  • check validity of the Lua function
  • consolidate tree view
  • add missing files and use CurveTree
  • multifile prefix
  • ReactiveLuaFunction cleanup
  • adding absolute transform
  • small UI fix
  • Contributors: Davide Faconti, ngpbach

3.4.2 (2022-02-12)

  • delete orhphaned transforms
  • bug fix that cause crash
  • fix error #603
  • Fix #594
  • Contributors: Davide Faconti

3.4.1 (2022-02-06)

  • add flip axis
  • fix zoom in icon
  • Fix typo in toolbox Lua (#598)
  • Fix MutableTimeseries shadowed by MutableScatterXY (#597)

    • Fix MutableTimeseries shadowed by MutableScatterXY

    * add math library Co-authored-by: Simon CHANU <simon.chanu@cmdl.pro>

  • MQTT upgraded

  • Update README.md

  • Installer and readme updates

  • Contributors: Davide Faconti, SebasAlmagro, Simon CHANU

3.4.0 (2022-01-29)

  • fix #585
  • fix #560
  • fix #575
  • Reactive scripts (#589)
  • Fix Quaternion toolbox, issue #587
  • fix double delete
  • fix memory leaks #582
  • Contributors: Davide Faconti

3.3.5 (2022-01-04)

  • fix zoom issue when toggling T_offset
  • cosmetic changes
  • show missing curves in error dialog (#579)
  • fix #550
  • Contributors: Adeeb Shihadeh, Davide Faconti

3.3.4 (2021-12-28)

  • Video plugin (#574)
  • gitignore *.swp files (#569)
  • Added libprotoc-dev to the apt install targets (#573)
  • turn on Sol3 safety flag
  • trying to solve reported issue with Lua
  • add fields that were not set in Protobuf
  • Protobuf update (#568)
  • add zoomOut after loadDataFile
  • Protobuf options refactored
  • changed the protobuf implementation to deal with dependencies
  • Protobuf parser and MQTT plugins
  • Merge pull request #531 from erickisos/fix/517 Homebrew path added into CMakeLists #517
  • LUA version updated
  • fix dependency between transformed series
  • fix issue #557
  • Homebrew path added into CMakeLists
  • Contributors: Adeeb Shihadeh, Davide Faconti, Erick G. Islas-Osuna, Mikl

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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 answers.ros.org

plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

Tags No category tags.
Version 3.6.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 2022-09-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ROS1 ROS2 Tweet

Gold Sponsor: Greenzie

PlotJuggler 3.6

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 re-use 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.
  • Understands 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, that 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 plugin 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

Binary installers

Note that these installers do not include ROS plugins.

Linux AppImage (compatible with Ubuntu 20.04 or later): PlotJuggler-3.6.0-x86_64.AppImage

Windows Installer: PlotJuggler-Windows-3.6.0-installer

Debian packages for ROS User

Install the ROS packages with:

sudo apt install ros-$ROS_DISTRO-plotjuggler-ros

To launch PlotJuggler on ROS, use the command:

rosrun plotjuggler plotjuggler

or, if are using ROS2:

ros2 run plotjuggler plotjuggler

ROS plugins are available in a separate repository: https://github.com/PlotJuggler/plotjuggler-ros-plugins

Refer to the instructions in that repository if you want to compile PJ and its ROS plugins from source.

Install with Snap

This massive file will install a version of PlotJuggler that can work with both ROS1 and ROS2.

Get it from the Snap Store

sudo snap install plotjuggler

When launching you have two options available:

  • plotjuggler.ros to load the ROS1 plugins
  • plotjuggler.ros2 to load the ROS2 plugins

In addition, the command plotjuggler is an alias to plotjuggler.ros. If you'd prefer to alias plotjuggler.ros2 instead, you can do so with the command sudo snap set plotjuggler ros-plugin-version=2. Revert it simply replacing 2 with 1. Note that this also affect the desktop launcher.

Compile from source

You can find find the detailed instructions here: COMPILE.md.

Sponsorship and commercial support

PlotJuggler required a lot of work to be developed; my goal is to build the most intuitive and powerfull tool to visualize data and timeseries.

If you find PlotJuggler useful, consider making a donation on PayPal or become a Github Sponsor.

If you need to extend any of the functionalities of PlotJuggler to cover a specific need or to parse your custom data formats, you can receive commercial support from the main author, Davide Faconti.

License

PlotJuggler is released under the Mozilla Public License Version 2.0, which allows user to develop closed-source plugins.

Please note that some third party dependencies (including Qt) use the GNU Lesser General Public License.

Stargazers

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

3.6.0 (2022-08-13)

  • More memes
  • Refactoring of the MessageParser plugins
  • Mcap support (#722)
  • Improve CSV loader error handling (#721)
  • Fix plotwidget drag and drop bug (Issue #716) (#717)
  • fix(snap): remove yaml grade (#718) grade is set from the part YAML grade has priority over the programmed one so we remove it
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc

3.5.2 (2022-08-05)

  • fix issue #642
  • fix FFT toolbox
  • Add options for enabling/disabling autozoom in preferences (#704)
  • add support for custom window titles (#715)
  • Fix/snap rosbag (#714)
  • fix mosquitto build in linux
  • Better cmake (#710)
  • fix #707
  • better installation instructions
  • fix(snap): reapply changes remove by the merge of main (#703)
  • save ColorMaps in layout
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc, grekiki

3.5.1 (2022-07-25)

  • Dev/ros1 ros2 snap (#698)
  • update nlohmann json to fix #640
  • should prevent error #696
  • Merge branch \'improved_zoomout\' into main
  • cleanup after #702
  • Statistics dialog improvements and bug fixes (#702)
  • Include std::thread instead of QThread, since it is being utilized in the mqtt plugin instead of QThread. (#700)
  • fix zmq compilation
  • cherry picking from #698
  • increase playback step precision (#692)
  • Fix typo in ColorMap warning (#693)
  • Set buttonBackground icon in .ui file (#694)
  • Update README.md
  • Fix #697
  • update sol2 and fix #687
  • try to improve the linked zoomout
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc, Hugal31, ozzdemir

3.5.0 (2022-07-12)

  • license changed to MPL 2.0
  • Macos ci (#685)
  • Add CSV table preview and CSV highlighting (#680)
    • Add CSV table preview and CSV highlighting
    • add toggles for enabling CSV table view and syntax highlighting
  • Fix start/end time bug in CSV Exporter (#682)
  • Add tooltips to CSV publisher buttons (#683) -Add tooltips to the buttons that set the start/end time based on vertical time tracker position -add missing space in text (\"timerange\" to \"time range\")
  • Fix #415
  • add statistics
  • Add background editor
  • fix crash in Parquet plugin
  • Add line numbers to csv loader (#679)
  • Fix type-o in reactive script editor (#678) missing \"r\" in \"ScatterXY\"
  • Contributors: Bartimaeus-, Davide Faconti

3.4.5 (2022-06-29)

  • fix compilation
  • add QCodeEditor
  • CI: cmake ubuntu/Windows
  • Fix CSV generated time axis. (#666) Previously the CSV dataload plugin was not saving the correct XML state when a generated time axis was used.
  • Added support for converted int types (#673)

    • Added support for converted int types

    * Added fallback for int32 and int64 Co-authored-by: Rano Veder <r.veder@primevision.com>

  • Add tooltip to the zoom out button (#670)

  • PlotJuggler will generate its own cmake target

  • Parquet plugin (#664)

  • fix Cancel button in CSV loader (#659)

  • Make tutorial link open in browser when clicked (#660) Similar to https://github.com/facontidavide/PlotJuggler/pull/658 but applied to the tutorial link in the reactive lua editor

  • accept white lines in CSV

  • Update README.md (#661)

  • Make link open in browser when clicked (#658) Set openExternalLinks property of label_4 to true to allow the hyperlink to open in a web browser when clicked

  • Fix #655. Add autoZoom to transform dialog

  • Rememvber CSV time column. Cherry picking from #657.

  • fix #650

  • Contributors: Andrew Goessling, Bartimaeus-, Davide Faconti, Konstantinos Lyrakis, Rano Veder, Zach Davis

3.4.4 (2022-05-15)

  • fix issue #561
  • add STATUS to CmakeLists.txt message() to avoid \'message called with incorrect number of arguments\' (#649) cmake 3.22.1 errors on this
  • Passing CI on ROS2 Rolling (#629)
    • fix ament-index-cpp dependency on ubuntu jammy
    • add rolling ci
  • Modify install command and make it easier to install (#620)
  • Contributors: Davide Faconti, Kenji Brameld, Krishna, Lucas Walter

3.4.3 (2022-03-06)

  • Apply changes to reactive Scripts
  • improve reactive Scripts
  • clear selections when CustomSeries is created
  • save batch function settings
  • cleaning up #601
  • Timestampfield (#601)
  • add new batch editor
  • check validity of the Lua function
  • consolidate tree view
  • add missing files and use CurveTree
  • multifile prefix
  • ReactiveLuaFunction cleanup
  • adding absolute transform
  • small UI fix
  • Contributors: Davide Faconti, ngpbach

3.4.2 (2022-02-12)

  • delete orhphaned transforms
  • bug fix that cause crash
  • fix error #603
  • Fix #594
  • Contributors: Davide Faconti

3.4.1 (2022-02-06)

  • add flip axis
  • fix zoom in icon
  • Fix typo in toolbox Lua (#598)
  • Fix MutableTimeseries shadowed by MutableScatterXY (#597)

    • Fix MutableTimeseries shadowed by MutableScatterXY

    * add math library Co-authored-by: Simon CHANU <simon.chanu@cmdl.pro>

  • MQTT upgraded

  • Update README.md

  • Installer and readme updates

  • Contributors: Davide Faconti, SebasAlmagro, Simon CHANU

3.4.0 (2022-01-29)

  • fix #585
  • fix #560
  • fix #575
  • Reactive scripts (#589)
  • Fix Quaternion toolbox, issue #587
  • fix double delete
  • fix memory leaks #582
  • Contributors: Davide Faconti

3.3.5 (2022-01-04)

  • fix zoom issue when toggling T_offset
  • cosmetic changes
  • show missing curves in error dialog (#579)
  • fix #550
  • Contributors: Adeeb Shihadeh, Davide Faconti

3.3.4 (2021-12-28)

  • Video plugin (#574)
  • gitignore *.swp files (#569)
  • Added libprotoc-dev to the apt install targets (#573)
  • turn on Sol3 safety flag
  • trying to solve reported issue with Lua
  • add fields that were not set in Protobuf
  • Protobuf update (#568)
  • add zoomOut after loadDataFile
  • Protobuf options refactored
  • changed the protobuf implementation to deal with dependencies
  • Protobuf parser and MQTT plugins
  • Merge pull request #531 from erickisos/fix/517 Homebrew path added into CMakeLists #517
  • LUA version updated
  • fix dependency between transformed series
  • fix issue #557
  • Homebrew path added into CMakeLists
  • Contributors: Adeeb Shihadeh, Davide Faconti, Erick G. Islas-Osuna, Mikl

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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 answers.ros.org

plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

Tags No category tags.
Version 3.6.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 2022-09-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ROS1 ROS2 Tweet

Gold Sponsor: Greenzie

PlotJuggler 3.6

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 re-use 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.
  • Understands 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, that 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 plugin 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

Binary installers

Note that these installers do not include ROS plugins.

Linux AppImage (compatible with Ubuntu 20.04 or later): PlotJuggler-3.6.0-x86_64.AppImage

Windows Installer: PlotJuggler-Windows-3.6.0-installer

Debian packages for ROS User

Install the ROS packages with:

sudo apt install ros-$ROS_DISTRO-plotjuggler-ros

To launch PlotJuggler on ROS, use the command:

rosrun plotjuggler plotjuggler

or, if are using ROS2:

ros2 run plotjuggler plotjuggler

ROS plugins are available in a separate repository: https://github.com/PlotJuggler/plotjuggler-ros-plugins

Refer to the instructions in that repository if you want to compile PJ and its ROS plugins from source.

Install with Snap

This massive file will install a version of PlotJuggler that can work with both ROS1 and ROS2.

Get it from the Snap Store

sudo snap install plotjuggler

When launching you have two options available:

  • plotjuggler.ros to load the ROS1 plugins
  • plotjuggler.ros2 to load the ROS2 plugins

In addition, the command plotjuggler is an alias to plotjuggler.ros. If you'd prefer to alias plotjuggler.ros2 instead, you can do so with the command sudo snap set plotjuggler ros-plugin-version=2. Revert it simply replacing 2 with 1. Note that this also affect the desktop launcher.

Compile from source

You can find find the detailed instructions here: COMPILE.md.

Sponsorship and commercial support

PlotJuggler required a lot of work to be developed; my goal is to build the most intuitive and powerfull tool to visualize data and timeseries.

If you find PlotJuggler useful, consider making a donation on PayPal or become a Github Sponsor.

If you need to extend any of the functionalities of PlotJuggler to cover a specific need or to parse your custom data formats, you can receive commercial support from the main author, Davide Faconti.

License

PlotJuggler is released under the Mozilla Public License Version 2.0, which allows user to develop closed-source plugins.

Please note that some third party dependencies (including Qt) use the GNU Lesser General Public License.

Stargazers

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

3.6.0 (2022-08-13)

  • More memes
  • Refactoring of the MessageParser plugins
  • Mcap support (#722)
  • Improve CSV loader error handling (#721)
  • Fix plotwidget drag and drop bug (Issue #716) (#717)
  • fix(snap): remove yaml grade (#718) grade is set from the part YAML grade has priority over the programmed one so we remove it
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc

3.5.2 (2022-08-05)

  • fix issue #642
  • fix FFT toolbox
  • Add options for enabling/disabling autozoom in preferences (#704)
  • add support for custom window titles (#715)
  • Fix/snap rosbag (#714)
  • fix mosquitto build in linux
  • Better cmake (#710)
  • fix #707
  • better installation instructions
  • fix(snap): reapply changes remove by the merge of main (#703)
  • save ColorMaps in layout
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc, grekiki

3.5.1 (2022-07-25)

  • Dev/ros1 ros2 snap (#698)
  • update nlohmann json to fix #640
  • should prevent error #696
  • Merge branch \'improved_zoomout\' into main
  • cleanup after #702
  • Statistics dialog improvements and bug fixes (#702)
  • Include std::thread instead of QThread, since it is being utilized in the mqtt plugin instead of QThread. (#700)
  • fix zmq compilation
  • cherry picking from #698
  • increase playback step precision (#692)
  • Fix typo in ColorMap warning (#693)
  • Set buttonBackground icon in .ui file (#694)
  • Update README.md
  • Fix #697
  • update sol2 and fix #687
  • try to improve the linked zoomout
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc, Hugal31, ozzdemir

3.5.0 (2022-07-12)

  • license changed to MPL 2.0
  • Macos ci (#685)
  • Add CSV table preview and CSV highlighting (#680)
    • Add CSV table preview and CSV highlighting
    • add toggles for enabling CSV table view and syntax highlighting
  • Fix start/end time bug in CSV Exporter (#682)
  • Add tooltips to CSV publisher buttons (#683) -Add tooltips to the buttons that set the start/end time based on vertical time tracker position -add missing space in text (\"timerange\" to \"time range\")
  • Fix #415
  • add statistics
  • Add background editor
  • fix crash in Parquet plugin
  • Add line numbers to csv loader (#679)
  • Fix type-o in reactive script editor (#678) missing \"r\" in \"ScatterXY\"
  • Contributors: Bartimaeus-, Davide Faconti

3.4.5 (2022-06-29)

  • fix compilation
  • add QCodeEditor
  • CI: cmake ubuntu/Windows
  • Fix CSV generated time axis. (#666) Previously the CSV dataload plugin was not saving the correct XML state when a generated time axis was used.
  • Added support for converted int types (#673)

    • Added support for converted int types

    * Added fallback for int32 and int64 Co-authored-by: Rano Veder <r.veder@primevision.com>

  • Add tooltip to the zoom out button (#670)

  • PlotJuggler will generate its own cmake target

  • Parquet plugin (#664)

  • fix Cancel button in CSV loader (#659)

  • Make tutorial link open in browser when clicked (#660) Similar to https://github.com/facontidavide/PlotJuggler/pull/658 but applied to the tutorial link in the reactive lua editor

  • accept white lines in CSV

  • Update README.md (#661)

  • Make link open in browser when clicked (#658) Set openExternalLinks property of label_4 to true to allow the hyperlink to open in a web browser when clicked

  • Fix #655. Add autoZoom to transform dialog

  • Rememvber CSV time column. Cherry picking from #657.

  • fix #650

  • Contributors: Andrew Goessling, Bartimaeus-, Davide Faconti, Konstantinos Lyrakis, Rano Veder, Zach Davis

3.4.4 (2022-05-15)

  • fix issue #561
  • add STATUS to CmakeLists.txt message() to avoid \'message called with incorrect number of arguments\' (#649) cmake 3.22.1 errors on this
  • Passing CI on ROS2 Rolling (#629)
    • fix ament-index-cpp dependency on ubuntu jammy
    • add rolling ci
  • Modify install command and make it easier to install (#620)
  • Contributors: Davide Faconti, Kenji Brameld, Krishna, Lucas Walter

3.4.3 (2022-03-06)

  • Apply changes to reactive Scripts
  • improve reactive Scripts
  • clear selections when CustomSeries is created
  • save batch function settings
  • cleaning up #601
  • Timestampfield (#601)
  • add new batch editor
  • check validity of the Lua function
  • consolidate tree view
  • add missing files and use CurveTree
  • multifile prefix
  • ReactiveLuaFunction cleanup
  • adding absolute transform
  • small UI fix
  • Contributors: Davide Faconti, ngpbach

3.4.2 (2022-02-12)

  • delete orhphaned transforms
  • bug fix that cause crash
  • fix error #603
  • Fix #594
  • Contributors: Davide Faconti

3.4.1 (2022-02-06)

  • add flip axis
  • fix zoom in icon
  • Fix typo in toolbox Lua (#598)
  • Fix MutableTimeseries shadowed by MutableScatterXY (#597)

    • Fix MutableTimeseries shadowed by MutableScatterXY

    * add math library Co-authored-by: Simon CHANU <simon.chanu@cmdl.pro>

  • MQTT upgraded

  • Update README.md

  • Installer and readme updates

  • Contributors: Davide Faconti, SebasAlmagro, Simon CHANU

3.4.0 (2022-01-29)

  • fix #585
  • fix #560
  • fix #575
  • Reactive scripts (#589)
  • Fix Quaternion toolbox, issue #587
  • fix double delete
  • fix memory leaks #582
  • Contributors: Davide Faconti

3.3.5 (2022-01-04)

  • fix zoom issue when toggling T_offset
  • cosmetic changes
  • show missing curves in error dialog (#579)
  • fix #550
  • Contributors: Adeeb Shihadeh, Davide Faconti

3.3.4 (2021-12-28)

  • Video plugin (#574)
  • gitignore *.swp files (#569)
  • Added libprotoc-dev to the apt install targets (#573)
  • turn on Sol3 safety flag
  • trying to solve reported issue with Lua
  • add fields that were not set in Protobuf
  • Protobuf update (#568)
  • add zoomOut after loadDataFile
  • Protobuf options refactored
  • changed the protobuf implementation to deal with dependencies
  • Protobuf parser and MQTT plugins
  • Merge pull request #531 from erickisos/fix/517 Homebrew path added into CMakeLists #517
  • LUA version updated
  • fix dependency between transformed series
  • fix issue #557
  • Homebrew path added into CMakeLists
  • Contributors: Adeeb Shihadeh, Davide Faconti, Erick G. Islas-Osuna, Mikl

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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 answers.ros.org

plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

Tags No category tags.
Version 3.6.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 2022-09-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ROS1 ROS2 Tweet

Gold Sponsor: Greenzie

PlotJuggler 3.6

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 re-use 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.
  • Understands 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, that 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 plugin 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

Binary installers

Note that these installers do not include ROS plugins.

Linux AppImage (compatible with Ubuntu 20.04 or later): PlotJuggler-3.6.0-x86_64.AppImage

Windows Installer: PlotJuggler-Windows-3.6.0-installer

Debian packages for ROS User

Install the ROS packages with:

sudo apt install ros-$ROS_DISTRO-plotjuggler-ros

To launch PlotJuggler on ROS, use the command:

rosrun plotjuggler plotjuggler

or, if are using ROS2:

ros2 run plotjuggler plotjuggler

ROS plugins are available in a separate repository: https://github.com/PlotJuggler/plotjuggler-ros-plugins

Refer to the instructions in that repository if you want to compile PJ and its ROS plugins from source.

Install with Snap

This massive file will install a version of PlotJuggler that can work with both ROS1 and ROS2.

Get it from the Snap Store

sudo snap install plotjuggler

When launching you have two options available:

  • plotjuggler.ros to load the ROS1 plugins
  • plotjuggler.ros2 to load the ROS2 plugins

In addition, the command plotjuggler is an alias to plotjuggler.ros. If you'd prefer to alias plotjuggler.ros2 instead, you can do so with the command sudo snap set plotjuggler ros-plugin-version=2. Revert it simply replacing 2 with 1. Note that this also affect the desktop launcher.

Compile from source

You can find find the detailed instructions here: COMPILE.md.

Sponsorship and commercial support

PlotJuggler required a lot of work to be developed; my goal is to build the most intuitive and powerfull tool to visualize data and timeseries.

If you find PlotJuggler useful, consider making a donation on PayPal or become a Github Sponsor.

If you need to extend any of the functionalities of PlotJuggler to cover a specific need or to parse your custom data formats, you can receive commercial support from the main author, Davide Faconti.

License

PlotJuggler is released under the Mozilla Public License Version 2.0, which allows user to develop closed-source plugins.

Please note that some third party dependencies (including Qt) use the GNU Lesser General Public License.

Stargazers

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

3.6.0 (2022-08-13)

  • More memes
  • Refactoring of the MessageParser plugins
  • Mcap support (#722)
  • Improve CSV loader error handling (#721)
  • Fix plotwidget drag and drop bug (Issue #716) (#717)
  • fix(snap): remove yaml grade (#718) grade is set from the part YAML grade has priority over the programmed one so we remove it
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc

3.5.2 (2022-08-05)

  • fix issue #642
  • fix FFT toolbox
  • Add options for enabling/disabling autozoom in preferences (#704)
  • add support for custom window titles (#715)
  • Fix/snap rosbag (#714)
  • fix mosquitto build in linux
  • Better cmake (#710)
  • fix #707
  • better installation instructions
  • fix(snap): reapply changes remove by the merge of main (#703)
  • save ColorMaps in layout
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc, grekiki

3.5.1 (2022-07-25)

  • Dev/ros1 ros2 snap (#698)
  • update nlohmann json to fix #640
  • should prevent error #696
  • Merge branch \'improved_zoomout\' into main
  • cleanup after #702
  • Statistics dialog improvements and bug fixes (#702)
  • Include std::thread instead of QThread, since it is being utilized in the mqtt plugin instead of QThread. (#700)
  • fix zmq compilation
  • cherry picking from #698
  • increase playback step precision (#692)
  • Fix typo in ColorMap warning (#693)
  • Set buttonBackground icon in .ui file (#694)
  • Update README.md
  • Fix #697
  • update sol2 and fix #687
  • try to improve the linked zoomout
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc, Hugal31, ozzdemir

3.5.0 (2022-07-12)

  • license changed to MPL 2.0
  • Macos ci (#685)
  • Add CSV table preview and CSV highlighting (#680)
    • Add CSV table preview and CSV highlighting
    • add toggles for enabling CSV table view and syntax highlighting
  • Fix start/end time bug in CSV Exporter (#682)
  • Add tooltips to CSV publisher buttons (#683) -Add tooltips to the buttons that set the start/end time based on vertical time tracker position -add missing space in text (\"timerange\" to \"time range\")
  • Fix #415
  • add statistics
  • Add background editor
  • fix crash in Parquet plugin
  • Add line numbers to csv loader (#679)
  • Fix type-o in reactive script editor (#678) missing \"r\" in \"ScatterXY\"
  • Contributors: Bartimaeus-, Davide Faconti

3.4.5 (2022-06-29)

  • fix compilation
  • add QCodeEditor
  • CI: cmake ubuntu/Windows
  • Fix CSV generated time axis. (#666) Previously the CSV dataload plugin was not saving the correct XML state when a generated time axis was used.
  • Added support for converted int types (#673)

    • Added support for converted int types

    * Added fallback for int32 and int64 Co-authored-by: Rano Veder <r.veder@primevision.com>

  • Add tooltip to the zoom out button (#670)

  • PlotJuggler will generate its own cmake target

  • Parquet plugin (#664)

  • fix Cancel button in CSV loader (#659)

  • Make tutorial link open in browser when clicked (#660) Similar to https://github.com/facontidavide/PlotJuggler/pull/658 but applied to the tutorial link in the reactive lua editor

  • accept white lines in CSV

  • Update README.md (#661)

  • Make link open in browser when clicked (#658) Set openExternalLinks property of label_4 to true to allow the hyperlink to open in a web browser when clicked

  • Fix #655. Add autoZoom to transform dialog

  • Rememvber CSV time column. Cherry picking from #657.

  • fix #650

  • Contributors: Andrew Goessling, Bartimaeus-, Davide Faconti, Konstantinos Lyrakis, Rano Veder, Zach Davis

3.4.4 (2022-05-15)

  • fix issue #561
  • add STATUS to CmakeLists.txt message() to avoid \'message called with incorrect number of arguments\' (#649) cmake 3.22.1 errors on this
  • Passing CI on ROS2 Rolling (#629)
    • fix ament-index-cpp dependency on ubuntu jammy
    • add rolling ci
  • Modify install command and make it easier to install (#620)
  • Contributors: Davide Faconti, Kenji Brameld, Krishna, Lucas Walter

3.4.3 (2022-03-06)

  • Apply changes to reactive Scripts
  • improve reactive Scripts
  • clear selections when CustomSeries is created
  • save batch function settings
  • cleaning up #601
  • Timestampfield (#601)
  • add new batch editor
  • check validity of the Lua function
  • consolidate tree view
  • add missing files and use CurveTree
  • multifile prefix
  • ReactiveLuaFunction cleanup
  • adding absolute transform
  • small UI fix
  • Contributors: Davide Faconti, ngpbach

3.4.2 (2022-02-12)

  • delete orhphaned transforms
  • bug fix that cause crash
  • fix error #603
  • Fix #594
  • Contributors: Davide Faconti

3.4.1 (2022-02-06)

  • add flip axis
  • fix zoom in icon
  • Fix typo in toolbox Lua (#598)
  • Fix MutableTimeseries shadowed by MutableScatterXY (#597)

    • Fix MutableTimeseries shadowed by MutableScatterXY

    * add math library Co-authored-by: Simon CHANU <simon.chanu@cmdl.pro>

  • MQTT upgraded

  • Update README.md

  • Installer and readme updates

  • Contributors: Davide Faconti, SebasAlmagro, Simon CHANU

3.4.0 (2022-01-29)

  • fix #585
  • fix #560
  • fix #575
  • Reactive scripts (#589)
  • Fix Quaternion toolbox, issue #587
  • fix double delete
  • fix memory leaks #582
  • Contributors: Davide Faconti

3.3.5 (2022-01-04)

  • fix zoom issue when toggling T_offset
  • cosmetic changes
  • show missing curves in error dialog (#579)
  • fix #550
  • Contributors: Adeeb Shihadeh, Davide Faconti

3.3.4 (2021-12-28)

  • Video plugin (#574)
  • gitignore *.swp files (#569)
  • Added libprotoc-dev to the apt install targets (#573)
  • turn on Sol3 safety flag
  • trying to solve reported issue with Lua
  • add fields that were not set in Protobuf
  • Protobuf update (#568)
  • add zoomOut after loadDataFile
  • Protobuf options refactored
  • changed the protobuf implementation to deal with dependencies
  • Protobuf parser and MQTT plugins
  • Merge pull request #531 from erickisos/fix/517 Homebrew path added into CMakeLists #517
  • LUA version updated
  • fix dependency between transformed series
  • fix issue #557
  • Homebrew path added into CMakeLists
  • Contributors: Adeeb Shihadeh, Davide Faconti, Erick G. Islas-Osuna, Mikl

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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 answers.ros.org

plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

Tags No category tags.
Version 3.6.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 2022-09-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ROS1 ROS2 Tweet

Gold Sponsor: Greenzie

PlotJuggler 3.6

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 re-use 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.
  • Understands 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, that 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 plugin 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

Binary installers

Note that these installers do not include ROS plugins.

Linux AppImage (compatible with Ubuntu 20.04 or later): PlotJuggler-3.6.0-x86_64.AppImage

Windows Installer: PlotJuggler-Windows-3.6.0-installer

Debian packages for ROS User

Install the ROS packages with:

sudo apt install ros-$ROS_DISTRO-plotjuggler-ros

To launch PlotJuggler on ROS, use the command:

rosrun plotjuggler plotjuggler

or, if are using ROS2:

ros2 run plotjuggler plotjuggler

ROS plugins are available in a separate repository: https://github.com/PlotJuggler/plotjuggler-ros-plugins

Refer to the instructions in that repository if you want to compile PJ and its ROS plugins from source.

Install with Snap

This massive file will install a version of PlotJuggler that can work with both ROS1 and ROS2.

Get it from the Snap Store

sudo snap install plotjuggler

When launching you have two options available:

  • plotjuggler.ros to load the ROS1 plugins
  • plotjuggler.ros2 to load the ROS2 plugins

In addition, the command plotjuggler is an alias to plotjuggler.ros. If you'd prefer to alias plotjuggler.ros2 instead, you can do so with the command sudo snap set plotjuggler ros-plugin-version=2. Revert it simply replacing 2 with 1. Note that this also affect the desktop launcher.

Compile from source

You can find find the detailed instructions here: COMPILE.md.

Sponsorship and commercial support

PlotJuggler required a lot of work to be developed; my goal is to build the most intuitive and powerfull tool to visualize data and timeseries.

If you find PlotJuggler useful, consider making a donation on PayPal or become a Github Sponsor.

If you need to extend any of the functionalities of PlotJuggler to cover a specific need or to parse your custom data formats, you can receive commercial support from the main author, Davide Faconti.

License

PlotJuggler is released under the Mozilla Public License Version 2.0, which allows user to develop closed-source plugins.

Please note that some third party dependencies (including Qt) use the GNU Lesser General Public License.

Stargazers

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

3.6.0 (2022-08-13)

  • More memes
  • Refactoring of the MessageParser plugins
  • Mcap support (#722)
  • Improve CSV loader error handling (#721)
  • Fix plotwidget drag and drop bug (Issue #716) (#717)
  • fix(snap): remove yaml grade (#718) grade is set from the part YAML grade has priority over the programmed one so we remove it
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc

3.5.2 (2022-08-05)

  • fix issue #642
  • fix FFT toolbox
  • Add options for enabling/disabling autozoom in preferences (#704)
  • add support for custom window titles (#715)
  • Fix/snap rosbag (#714)
  • fix mosquitto build in linux
  • Better cmake (#710)
  • fix #707
  • better installation instructions
  • fix(snap): reapply changes remove by the merge of main (#703)
  • save ColorMaps in layout
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc, grekiki

3.5.1 (2022-07-25)

  • Dev/ros1 ros2 snap (#698)
  • update nlohmann json to fix #640
  • should prevent error #696
  • Merge branch \'improved_zoomout\' into main
  • cleanup after #702
  • Statistics dialog improvements and bug fixes (#702)
  • Include std::thread instead of QThread, since it is being utilized in the mqtt plugin instead of QThread. (#700)
  • fix zmq compilation
  • cherry picking from #698
  • increase playback step precision (#692)
  • Fix typo in ColorMap warning (#693)
  • Set buttonBackground icon in .ui file (#694)
  • Update README.md
  • Fix #697
  • update sol2 and fix #687
  • try to improve the linked zoomout
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc, Hugal31, ozzdemir

3.5.0 (2022-07-12)

  • license changed to MPL 2.0
  • Macos ci (#685)
  • Add CSV table preview and CSV highlighting (#680)
    • Add CSV table preview and CSV highlighting
    • add toggles for enabling CSV table view and syntax highlighting
  • Fix start/end time bug in CSV Exporter (#682)
  • Add tooltips to CSV publisher buttons (#683) -Add tooltips to the buttons that set the start/end time based on vertical time tracker position -add missing space in text (\"timerange\" to \"time range\")
  • Fix #415
  • add statistics
  • Add background editor
  • fix crash in Parquet plugin
  • Add line numbers to csv loader (#679)
  • Fix type-o in reactive script editor (#678) missing \"r\" in \"ScatterXY\"
  • Contributors: Bartimaeus-, Davide Faconti

3.4.5 (2022-06-29)

  • fix compilation
  • add QCodeEditor
  • CI: cmake ubuntu/Windows
  • Fix CSV generated time axis. (#666) Previously the CSV dataload plugin was not saving the correct XML state when a generated time axis was used.
  • Added support for converted int types (#673)

    • Added support for converted int types

    * Added fallback for int32 and int64 Co-authored-by: Rano Veder <r.veder@primevision.com>

  • Add tooltip to the zoom out button (#670)

  • PlotJuggler will generate its own cmake target

  • Parquet plugin (#664)

  • fix Cancel button in CSV loader (#659)

  • Make tutorial link open in browser when clicked (#660) Similar to https://github.com/facontidavide/PlotJuggler/pull/658 but applied to the tutorial link in the reactive lua editor

  • accept white lines in CSV

  • Update README.md (#661)

  • Make link open in browser when clicked (#658) Set openExternalLinks property of label_4 to true to allow the hyperlink to open in a web browser when clicked

  • Fix #655. Add autoZoom to transform dialog

  • Rememvber CSV time column. Cherry picking from #657.

  • fix #650

  • Contributors: Andrew Goessling, Bartimaeus-, Davide Faconti, Konstantinos Lyrakis, Rano Veder, Zach Davis

3.4.4 (2022-05-15)

  • fix issue #561
  • add STATUS to CmakeLists.txt message() to avoid \'message called with incorrect number of arguments\' (#649) cmake 3.22.1 errors on this
  • Passing CI on ROS2 Rolling (#629)
    • fix ament-index-cpp dependency on ubuntu jammy
    • add rolling ci
  • Modify install command and make it easier to install (#620)
  • Contributors: Davide Faconti, Kenji Brameld, Krishna, Lucas Walter

3.4.3 (2022-03-06)

  • Apply changes to reactive Scripts
  • improve reactive Scripts
  • clear selections when CustomSeries is created
  • save batch function settings
  • cleaning up #601
  • Timestampfield (#601)
  • add new batch editor
  • check validity of the Lua function
  • consolidate tree view
  • add missing files and use CurveTree
  • multifile prefix
  • ReactiveLuaFunction cleanup
  • adding absolute transform
  • small UI fix
  • Contributors: Davide Faconti, ngpbach

3.4.2 (2022-02-12)

  • delete orhphaned transforms
  • bug fix that cause crash
  • fix error #603
  • Fix #594
  • Contributors: Davide Faconti

3.4.1 (2022-02-06)

  • add flip axis
  • fix zoom in icon
  • Fix typo in toolbox Lua (#598)
  • Fix MutableTimeseries shadowed by MutableScatterXY (#597)

    • Fix MutableTimeseries shadowed by MutableScatterXY

    * add math library Co-authored-by: Simon CHANU <simon.chanu@cmdl.pro>

  • MQTT upgraded

  • Update README.md

  • Installer and readme updates

  • Contributors: Davide Faconti, SebasAlmagro, Simon CHANU

3.4.0 (2022-01-29)

  • fix #585
  • fix #560
  • fix #575
  • Reactive scripts (#589)
  • Fix Quaternion toolbox, issue #587
  • fix double delete
  • fix memory leaks #582
  • Contributors: Davide Faconti

3.3.5 (2022-01-04)

  • fix zoom issue when toggling T_offset
  • cosmetic changes
  • show missing curves in error dialog (#579)
  • fix #550
  • Contributors: Adeeb Shihadeh, Davide Faconti

3.3.4 (2021-12-28)

  • Video plugin (#574)
  • gitignore *.swp files (#569)
  • Added libprotoc-dev to the apt install targets (#573)
  • turn on Sol3 safety flag
  • trying to solve reported issue with Lua
  • add fields that were not set in Protobuf
  • Protobuf update (#568)
  • add zoomOut after loadDataFile
  • Protobuf options refactored
  • changed the protobuf implementation to deal with dependencies
  • Protobuf parser and MQTT plugins
  • Merge pull request #531 from erickisos/fix/517 Homebrew path added into CMakeLists #517
  • LUA version updated
  • fix dependency between transformed series
  • fix issue #557
  • Homebrew path added into CMakeLists
  • Contributors: Adeeb Shihadeh, Davide Faconti, Erick G. Islas-Osuna, Mikl

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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 answers.ros.org

plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

Tags No category tags.
Version 3.6.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 2022-09-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

windows ubuntu macos ROS1 ROS2 Tweet

Gold Sponsor: Greenzie

PlotJuggler 3.6

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 re-use 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.
  • Understands 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, that 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 plugin 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

Binary installers

Note that these installers do not include ROS plugins.

Linux AppImage (compatible with Ubuntu 20.04 or later): PlotJuggler-3.6.0-x86_64.AppImage

Windows Installer: PlotJuggler-Windows-3.6.0-installer

Debian packages for ROS User

Install the ROS packages with:

sudo apt install ros-$ROS_DISTRO-plotjuggler-ros

To launch PlotJuggler on ROS, use the command:

rosrun plotjuggler plotjuggler

or, if are using ROS2:

ros2 run plotjuggler plotjuggler

ROS plugins are available in a separate repository: https://github.com/PlotJuggler/plotjuggler-ros-plugins

Refer to the instructions in that repository if you want to compile PJ and its ROS plugins from source.

Install with Snap

This massive file will install a version of PlotJuggler that can work with both ROS1 and ROS2.

Get it from the Snap Store

sudo snap install plotjuggler

When launching you have two options available:

  • plotjuggler.ros to load the ROS1 plugins
  • plotjuggler.ros2 to load the ROS2 plugins

In addition, the command plotjuggler is an alias to plotjuggler.ros. If you'd prefer to alias plotjuggler.ros2 instead, you can do so with the command sudo snap set plotjuggler ros-plugin-version=2. Revert it simply replacing 2 with 1. Note that this also affect the desktop launcher.

Compile from source

You can find find the detailed instructions here: COMPILE.md.

Sponsorship and commercial support

PlotJuggler required a lot of work to be developed; my goal is to build the most intuitive and powerfull tool to visualize data and timeseries.

If you find PlotJuggler useful, consider making a donation on PayPal or become a Github Sponsor.

If you need to extend any of the functionalities of PlotJuggler to cover a specific need or to parse your custom data formats, you can receive commercial support from the main author, Davide Faconti.

License

PlotJuggler is released under the Mozilla Public License Version 2.0, which allows user to develop closed-source plugins.

Please note that some third party dependencies (including Qt) use the GNU Lesser General Public License.

Stargazers

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

3.6.0 (2022-08-13)

  • More memes
  • Refactoring of the MessageParser plugins
  • Mcap support (#722)
  • Improve CSV loader error handling (#721)
  • Fix plotwidget drag and drop bug (Issue #716) (#717)
  • fix(snap): remove yaml grade (#718) grade is set from the part YAML grade has priority over the programmed one so we remove it
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc

3.5.2 (2022-08-05)

  • fix issue #642
  • fix FFT toolbox
  • Add options for enabling/disabling autozoom in preferences (#704)
  • add support for custom window titles (#715)
  • Fix/snap rosbag (#714)
  • fix mosquitto build in linux
  • Better cmake (#710)
  • fix #707
  • better installation instructions
  • fix(snap): reapply changes remove by the merge of main (#703)
  • save ColorMaps in layout
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc, grekiki

3.5.1 (2022-07-25)

  • Dev/ros1 ros2 snap (#698)
  • update nlohmann json to fix #640
  • should prevent error #696
  • Merge branch \'improved_zoomout\' into main
  • cleanup after #702
  • Statistics dialog improvements and bug fixes (#702)
  • Include std::thread instead of QThread, since it is being utilized in the mqtt plugin instead of QThread. (#700)
  • fix zmq compilation
  • cherry picking from #698
  • increase playback step precision (#692)
  • Fix typo in ColorMap warning (#693)
  • Set buttonBackground icon in .ui file (#694)
  • Update README.md
  • Fix #697
  • update sol2 and fix #687
  • try to improve the linked zoomout
  • Contributors: Bartimaeus-, Davide Faconti, Guillaume Beuzeboc, Hugal31, ozzdemir

3.5.0 (2022-07-12)

  • license changed to MPL 2.0
  • Macos ci (#685)
  • Add CSV table preview and CSV highlighting (#680)
    • Add CSV table preview and CSV highlighting
    • add toggles for enabling CSV table view and syntax highlighting
  • Fix start/end time bug in CSV Exporter (#682)
  • Add tooltips to CSV publisher buttons (#683) -Add tooltips to the buttons that set the start/end time based on vertical time tracker position -add missing space in text (\"timerange\" to \"time range\")
  • Fix #415
  • add statistics
  • Add background editor
  • fix crash in Parquet plugin
  • Add line numbers to csv loader (#679)
  • Fix type-o in reactive script editor (#678) missing \"r\" in \"ScatterXY\"
  • Contributors: Bartimaeus-, Davide Faconti

3.4.5 (2022-06-29)

  • fix compilation
  • add QCodeEditor
  • CI: cmake ubuntu/Windows
  • Fix CSV generated time axis. (#666) Previously the CSV dataload plugin was not saving the correct XML state when a generated time axis was used.
  • Added support for converted int types (#673)

    • Added support for converted int types

    * Added fallback for int32 and int64 Co-authored-by: Rano Veder <r.veder@primevision.com>

  • Add tooltip to the zoom out button (#670)

  • PlotJuggler will generate its own cmake target

  • Parquet plugin (#664)

  • fix Cancel button in CSV loader (#659)

  • Make tutorial link open in browser when clicked (#660) Similar to https://github.com/facontidavide/PlotJuggler/pull/658 but applied to the tutorial link in the reactive lua editor

  • accept white lines in CSV

  • Update README.md (#661)

  • Make link open in browser when clicked (#658) Set openExternalLinks property of label_4 to true to allow the hyperlink to open in a web browser when clicked

  • Fix #655. Add autoZoom to transform dialog

  • Rememvber CSV time column. Cherry picking from #657.

  • fix #650

  • Contributors: Andrew Goessling, Bartimaeus-, Davide Faconti, Konstantinos Lyrakis, Rano Veder, Zach Davis

3.4.4 (2022-05-15)

  • fix issue #561
  • add STATUS to CmakeLists.txt message() to avoid \'message called with incorrect number of arguments\' (#649) cmake 3.22.1 errors on this
  • Passing CI on ROS2 Rolling (#629)
    • fix ament-index-cpp dependency on ubuntu jammy
    • add rolling ci
  • Modify install command and make it easier to install (#620)
  • Contributors: Davide Faconti, Kenji Brameld, Krishna, Lucas Walter

3.4.3 (2022-03-06)

  • Apply changes to reactive Scripts
  • improve reactive Scripts
  • clear selections when CustomSeries is created
  • save batch function settings
  • cleaning up #601
  • Timestampfield (#601)
  • add new batch editor
  • check validity of the Lua function
  • consolidate tree view
  • add missing files and use CurveTree
  • multifile prefix
  • ReactiveLuaFunction cleanup
  • adding absolute transform
  • small UI fix
  • Contributors: Davide Faconti, ngpbach

3.4.2 (2022-02-12)

  • delete orhphaned transforms
  • bug fix that cause crash
  • fix error #603
  • Fix #594
  • Contributors: Davide Faconti

3.4.1 (2022-02-06)

  • add flip axis
  • fix zoom in icon
  • Fix typo in toolbox Lua (#598)
  • Fix MutableTimeseries shadowed by MutableScatterXY (#597)

    • Fix MutableTimeseries shadowed by MutableScatterXY

    * add math library Co-authored-by: Simon CHANU <simon.chanu@cmdl.pro>

  • MQTT upgraded

  • Update README.md

  • Installer and readme updates

  • Contributors: Davide Faconti, SebasAlmagro, Simon CHANU

3.4.0 (2022-01-29)

  • fix #585
  • fix #560
  • fix #575
  • Reactive scripts (#589)
  • Fix Quaternion toolbox, issue #587
  • fix double delete
  • fix memory leaks #582
  • Contributors: Davide Faconti

3.3.5 (2022-01-04)

  • fix zoom issue when toggling T_offset
  • cosmetic changes
  • show missing curves in error dialog (#579)
  • fix #550
  • Contributors: Adeeb Shihadeh, Davide Faconti

3.3.4 (2021-12-28)

  • Video plugin (#574)
  • gitignore *.swp files (#569)
  • Added libprotoc-dev to the apt install targets (#573)
  • turn on Sol3 safety flag
  • trying to solve reported issue with Lua
  • add fields that were not set in Protobuf
  • Protobuf update (#568)
  • add zoomOut after loadDataFile
  • Protobuf options refactored
  • changed the protobuf implementation to deal with dependencies
  • Protobuf parser and MQTT plugins
  • Merge pull request #531 from erickisos/fix/517 Homebrew path added into CMakeLists #517
  • LUA version updated
  • fix dependency between transformed series
  • fix issue #557
  • Homebrew path added into CMakeLists
  • Contributors: Adeeb Shihadeh, Davide Faconti, Erick G. Islas-Osuna, Mikl

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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 answers.ros.org

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.