![]() |
plotjuggler package from plotjuggler repoplotjuggler |
|
Package Summary
Tags | No category tags. |
Version | 3.7.1 |
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 | 2023-09-22 |
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
Additional Links
Maintainers
- Davide Faconti
Authors
- Davide Faconti
Gold Sponsor: Greenzie
PlotJuggler 3.7
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.
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.
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
Contributors
Changelog for package plotjuggler
3.7.0 (2023-05-19)
- Handle protobuf maps (#824) Protobuf maps are just repeated protobuf messages with only 2 fields \"key\" and \"value\". Extract the map\'s key and use it in the series name and skip adding series for \"key\" fields to reduce the number of non useful series. Additionally don\'t include \"value\" in the series name for the value of a map.
- add progress dialog to MCAP loading
- new plugin: DataTamer parser
- performance optimization in pushBack
- more information in MCAP error
- optimization in MoveData
- address #820
- Prevent runtime_error exceptions from plugins crashing the main app (#812) Catch runtime_error exceptions thrown from the plugins and skip the throwing plugins, so that the main app can continue its normal operation.
- fix(snap): add libzstd for mcap support (#815)
- Update README.md
- Add a \"central difference\" method of derivative calculation (#813)
- Updating COMPILE dependencies to install (#810) Taken from CI: https://github.com/facontidavide/PlotJuggler/blob/main/.github/workflows/ubuntu.yaml#L20-L31
- Fix the bug where the shared library Parquet is not linked (#807) The actual path to the shared library is in [\${PARQUET_SHARED_LIB}]{.title-ref} instead of in [\${PARQUET_LIBRARIES}]{.title-ref}.
- Add CMake into comp vars and minor format improvements (#804) Co-authored-by: Erick G. Islas Osuna <eislasosuna@netflix.com>
- Fix for missing preferences (#795)
- fix typos in \"tips and tricks\" cheatsheet (#798) fix a couple of minor typos in dialog text
- Support Proto\'s That Reference Google/Protobuf (#793)
-
Fix for segfault in DataLoadCSV destructor (#784)
- Change order of deletion for dialogs.
- First delete child dialog [_dateTime_dialog]{.title-ref} then parent [_dialog]{.title-ref}.
Add CodeQL workflow (#765)
[bugfix] String deserialization (#780)
forgot throw
fixing nan check (#777)
Update Reactive Scripts on playback loop (#771)
fix
Contributors: Alistair, AndyZe, Bartimaeus-, Connor Anderson, Davide Faconti, Erick G. Islas-Osuna, Guillaume Beuzeboc, Mark Cutler, Michael Orlov, Peter St
Wiki Tutorials
Source Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Repo | Deps |
---|---|---|
plotjuggler_ros | github-PlotJuggler-plotjuggler-ros-plugins |
Launch files
Messages
Services
Plugins
Recent questions tagged plotjuggler at answers.ros.org
![]() |
plotjuggler package from plotjuggler repoplotjuggler |
|
Package Summary
Tags | No category tags. |
Version | 3.7.1 |
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 | 2023-09-22 |
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
Additional Links
Maintainers
- Davide Faconti
Authors
- Davide Faconti
Gold Sponsor: Greenzie
PlotJuggler 3.7
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.
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.
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
Contributors
Changelog for package plotjuggler
3.7.0 (2023-05-19)
- Handle protobuf maps (#824) Protobuf maps are just repeated protobuf messages with only 2 fields \"key\" and \"value\". Extract the map\'s key and use it in the series name and skip adding series for \"key\" fields to reduce the number of non useful series. Additionally don\'t include \"value\" in the series name for the value of a map.
- add progress dialog to MCAP loading
- new plugin: DataTamer parser
- performance optimization in pushBack
- more information in MCAP error
- optimization in MoveData
- address #820
- Prevent runtime_error exceptions from plugins crashing the main app (#812) Catch runtime_error exceptions thrown from the plugins and skip the throwing plugins, so that the main app can continue its normal operation.
- fix(snap): add libzstd for mcap support (#815)
- Update README.md
- Add a \"central difference\" method of derivative calculation (#813)
- Updating COMPILE dependencies to install (#810) Taken from CI: https://github.com/facontidavide/PlotJuggler/blob/main/.github/workflows/ubuntu.yaml#L20-L31
- Fix the bug where the shared library Parquet is not linked (#807) The actual path to the shared library is in [\${PARQUET_SHARED_LIB}]{.title-ref} instead of in [\${PARQUET_LIBRARIES}]{.title-ref}.
- Add CMake into comp vars and minor format improvements (#804) Co-authored-by: Erick G. Islas Osuna <eislasosuna@netflix.com>
- Fix for missing preferences (#795)
- fix typos in \"tips and tricks\" cheatsheet (#798) fix a couple of minor typos in dialog text
- Support Proto\'s That Reference Google/Protobuf (#793)
-
Fix for segfault in DataLoadCSV destructor (#784)
- Change order of deletion for dialogs.
- First delete child dialog [_dateTime_dialog]{.title-ref} then parent [_dialog]{.title-ref}.
Add CodeQL workflow (#765)
[bugfix] String deserialization (#780)
forgot throw
fixing nan check (#777)
Update Reactive Scripts on playback loop (#771)
fix
Contributors: Alistair, AndyZe, Bartimaeus-, Connor Anderson, Davide Faconti, Erick G. Islas-Osuna, Guillaume Beuzeboc, Mark Cutler, Michael Orlov, Peter St
Wiki Tutorials
Source Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Repo | Deps |
---|---|---|
plotjuggler_ros | github-PlotJuggler-plotjuggler-ros-plugins |
Launch files
Messages
Services
Plugins
Recent questions tagged plotjuggler at answers.ros.org
![]() |
plotjuggler package from plotjuggler repoplotjuggler |
|
Package Summary
Tags | No category tags. |
Version | 3.7.1 |
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 | 2023-09-22 |
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
Additional Links
Maintainers
- Davide Faconti
Authors
- Davide Faconti
Gold Sponsor: Greenzie
PlotJuggler 3.7
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.
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.
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
Contributors
Changelog for package plotjuggler
3.7.0 (2023-05-19)
- Handle protobuf maps (#824) Protobuf maps are just repeated protobuf messages with only 2 fields \"key\" and \"value\". Extract the map\'s key and use it in the series name and skip adding series for \"key\" fields to reduce the number of non useful series. Additionally don\'t include \"value\" in the series name for the value of a map.
- add progress dialog to MCAP loading
- new plugin: DataTamer parser
- performance optimization in pushBack
- more information in MCAP error
- optimization in MoveData
- address #820
- Prevent runtime_error exceptions from plugins crashing the main app (#812) Catch runtime_error exceptions thrown from the plugins and skip the throwing plugins, so that the main app can continue its normal operation.
- fix(snap): add libzstd for mcap support (#815)
- Update README.md
- Add a \"central difference\" method of derivative calculation (#813)
- Updating COMPILE dependencies to install (#810) Taken from CI: https://github.com/facontidavide/PlotJuggler/blob/main/.github/workflows/ubuntu.yaml#L20-L31
- Fix the bug where the shared library Parquet is not linked (#807) The actual path to the shared library is in [\${PARQUET_SHARED_LIB}]{.title-ref} instead of in [\${PARQUET_LIBRARIES}]{.title-ref}.
- Add CMake into comp vars and minor format improvements (#804) Co-authored-by: Erick G. Islas Osuna <eislasosuna@netflix.com>
- Fix for missing preferences (#795)
- fix typos in \"tips and tricks\" cheatsheet (#798) fix a couple of minor typos in dialog text
- Support Proto\'s That Reference Google/Protobuf (#793)
-
Fix for segfault in DataLoadCSV destructor (#784)
- Change order of deletion for dialogs.
- First delete child dialog [_dateTime_dialog]{.title-ref} then parent [_dialog]{.title-ref}.
Add CodeQL workflow (#765)
[bugfix] String deserialization (#780)
forgot throw
fixing nan check (#777)
Update Reactive Scripts on playback loop (#771)
fix
Contributors: Alistair, AndyZe, Bartimaeus-, Connor Anderson, Davide Faconti, Erick G. Islas-Osuna, Guillaume Beuzeboc, Mark Cutler, Michael Orlov, Peter St
Wiki Tutorials
Source Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Repo | Deps |
---|---|---|
plotjuggler_ros | github-PlotJuggler-plotjuggler-ros-plugins |
Launch files
Messages
Services
Plugins
Recent questions tagged plotjuggler at answers.ros.org
![]() |
plotjuggler package from plotjuggler repoplotjuggler |
|
Package Summary
Tags | No category tags. |
Version | 3.7.1 |
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 | 2023-09-22 |
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
Additional Links
Maintainers
- Davide Faconti
Authors
- Davide Faconti
Gold Sponsor: Greenzie
PlotJuggler 3.7
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.
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.
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
Contributors
Changelog for package plotjuggler
3.7.0 (2023-05-19)
- Handle protobuf maps (#824) Protobuf maps are just repeated protobuf messages with only 2 fields \"key\" and \"value\". Extract the map\'s key and use it in the series name and skip adding series for \"key\" fields to reduce the number of non useful series. Additionally don\'t include \"value\" in the series name for the value of a map.
- add progress dialog to MCAP loading
- new plugin: DataTamer parser
- performance optimization in pushBack
- more information in MCAP error
- optimization in MoveData
- address #820
- Prevent runtime_error exceptions from plugins crashing the main app (#812) Catch runtime_error exceptions thrown from the plugins and skip the throwing plugins, so that the main app can continue its normal operation.
- fix(snap): add libzstd for mcap support (#815)
- Update README.md
- Add a \"central difference\" method of derivative calculation (#813)
- Updating COMPILE dependencies to install (#810) Taken from CI: https://github.com/facontidavide/PlotJuggler/blob/main/.github/workflows/ubuntu.yaml#L20-L31
- Fix the bug where the shared library Parquet is not linked (#807) The actual path to the shared library is in [\${PARQUET_SHARED_LIB}]{.title-ref} instead of in [\${PARQUET_LIBRARIES}]{.title-ref}.
- Add CMake into comp vars and minor format improvements (#804) Co-authored-by: Erick G. Islas Osuna <eislasosuna@netflix.com>
- Fix for missing preferences (#795)
- fix typos in \"tips and tricks\" cheatsheet (#798) fix a couple of minor typos in dialog text
- Support Proto\'s That Reference Google/Protobuf (#793)
-
Fix for segfault in DataLoadCSV destructor (#784)
- Change order of deletion for dialogs.
- First delete child dialog [_dateTime_dialog]{.title-ref} then parent [_dialog]{.title-ref}.
Add CodeQL workflow (#765)
[bugfix] String deserialization (#780)
forgot throw
fixing nan check (#777)
Update Reactive Scripts on playback loop (#771)
fix
Contributors: Alistair, AndyZe, Bartimaeus-, Connor Anderson, Davide Faconti, Erick G. Islas-Osuna, Guillaume Beuzeboc, Mark Cutler, Michael Orlov, Peter St
Wiki Tutorials
Source Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plotjuggler at answers.ros.org
![]() |
plotjuggler package from plotjuggler repoplotjuggler |
|
Package Summary
Tags | No category tags. |
Version | 3.7.1 |
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 | 2023-09-22 |
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
Additional Links
Maintainers
- Davide Faconti
Authors
- Davide Faconti
Gold Sponsor: Greenzie
PlotJuggler 3.7
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.
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.
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
Contributors
Changelog for package plotjuggler
3.7.0 (2023-05-19)
- Handle protobuf maps (#824) Protobuf maps are just repeated protobuf messages with only 2 fields \"key\" and \"value\". Extract the map\'s key and use it in the series name and skip adding series for \"key\" fields to reduce the number of non useful series. Additionally don\'t include \"value\" in the series name for the value of a map.
- add progress dialog to MCAP loading
- new plugin: DataTamer parser
- performance optimization in pushBack
- more information in MCAP error
- optimization in MoveData
- address #820
- Prevent runtime_error exceptions from plugins crashing the main app (#812) Catch runtime_error exceptions thrown from the plugins and skip the throwing plugins, so that the main app can continue its normal operation.
- fix(snap): add libzstd for mcap support (#815)
- Update README.md
- Add a \"central difference\" method of derivative calculation (#813)
- Updating COMPILE dependencies to install (#810) Taken from CI: https://github.com/facontidavide/PlotJuggler/blob/main/.github/workflows/ubuntu.yaml#L20-L31
- Fix the bug where the shared library Parquet is not linked (#807) The actual path to the shared library is in [\${PARQUET_SHARED_LIB}]{.title-ref} instead of in [\${PARQUET_LIBRARIES}]{.title-ref}.
- Add CMake into comp vars and minor format improvements (#804) Co-authored-by: Erick G. Islas Osuna <eislasosuna@netflix.com>
- Fix for missing preferences (#795)
- fix typos in \"tips and tricks\" cheatsheet (#798) fix a couple of minor typos in dialog text
- Support Proto\'s That Reference Google/Protobuf (#793)
-
Fix for segfault in DataLoadCSV destructor (#784)
- Change order of deletion for dialogs.
- First delete child dialog [_dateTime_dialog]{.title-ref} then parent [_dialog]{.title-ref}.
Add CodeQL workflow (#765)
[bugfix] String deserialization (#780)
forgot throw
fixing nan check (#777)
Update Reactive Scripts on playback loop (#771)
fix
Contributors: Alistair, AndyZe, Bartimaeus-, Connor Anderson, Davide Faconti, Erick G. Islas-Osuna, Guillaume Beuzeboc, Mark Cutler, Michael Orlov, Peter St
Wiki Tutorials
Source Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Repo | Deps |
---|---|---|
plotjuggler_ros | github-PlotJuggler-plotjuggler-ros-plugins |
Launch files
Messages
Services
Plugins
Recent questions tagged plotjuggler at answers.ros.org
![]() |
plotjuggler package from plotjuggler repoplotjuggler |
|
Package Summary
Tags | No category tags. |
Version | 3.7.1 |
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 | 2023-09-22 |
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
Additional Links
Maintainers
- Davide Faconti
Authors
- Davide Faconti
Gold Sponsor: Greenzie
PlotJuggler 3.7
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.
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.
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
Contributors
Changelog for package plotjuggler
3.7.0 (2023-05-19)
- Handle protobuf maps (#824) Protobuf maps are just repeated protobuf messages with only 2 fields \"key\" and \"value\". Extract the map\'s key and use it in the series name and skip adding series for \"key\" fields to reduce the number of non useful series. Additionally don\'t include \"value\" in the series name for the value of a map.
- add progress dialog to MCAP loading
- new plugin: DataTamer parser
- performance optimization in pushBack
- more information in MCAP error
- optimization in MoveData
- address #820
- Prevent runtime_error exceptions from plugins crashing the main app (#812) Catch runtime_error exceptions thrown from the plugins and skip the throwing plugins, so that the main app can continue its normal operation.
- fix(snap): add libzstd for mcap support (#815)
- Update README.md
- Add a \"central difference\" method of derivative calculation (#813)
- Updating COMPILE dependencies to install (#810) Taken from CI: https://github.com/facontidavide/PlotJuggler/blob/main/.github/workflows/ubuntu.yaml#L20-L31
- Fix the bug where the shared library Parquet is not linked (#807) The actual path to the shared library is in [\${PARQUET_SHARED_LIB}]{.title-ref} instead of in [\${PARQUET_LIBRARIES}]{.title-ref}.
- Add CMake into comp vars and minor format improvements (#804) Co-authored-by: Erick G. Islas Osuna <eislasosuna@netflix.com>
- Fix for missing preferences (#795)
- fix typos in \"tips and tricks\" cheatsheet (#798) fix a couple of minor typos in dialog text
- Support Proto\'s That Reference Google/Protobuf (#793)
-
Fix for segfault in DataLoadCSV destructor (#784)
- Change order of deletion for dialogs.
- First delete child dialog [_dateTime_dialog]{.title-ref} then parent [_dialog]{.title-ref}.
Add CodeQL workflow (#765)
[bugfix] String deserialization (#780)
forgot throw
fixing nan check (#777)
Update Reactive Scripts on playback loop (#771)
fix
Contributors: Alistair, AndyZe, Bartimaeus-, Connor Anderson, Davide Faconti, Erick G. Islas-Osuna, Guillaume Beuzeboc, Mark Cutler, Michael Orlov, Peter St
Wiki Tutorials
Source Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Repo | Deps |
---|---|---|
plotjuggler_ros | github-PlotJuggler-plotjuggler-ros-plugins |
Launch files
Messages
Services
Plugins
Recent questions tagged plotjuggler at answers.ros.org
![]() |
plotjuggler package from plotjuggler repoplotjuggler |
|
Package Summary
Tags | No category tags. |
Version | 3.0.4 |
License | LGPLv3 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/facontidavide/PlotJuggler.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-05-19 |
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
Additional Links
Maintainers
- Davide Faconti
Authors
- Davide Faconti
PlotJuggler 3.0
PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.
Noteworthy features:
- Simple Drag & Drop user interface.
- Load static 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.
Data sources (file and streaming)
- Load CSV files.
- Load ULog (PX4).
- Subscribe to many different streaming sources: MQTT, Websockets, ZeroMQ, UDP, ROS, etc.
- Understands data formats such as JSON, CBOR, BSON, Message Pack, etc.
- Open Rosbags and subscribe to ROS topics (both ROS1 and ROS2).
- 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 ;)
Just "Download and Run"
On Linux, the simplest way to install PlotJuggler is through snaps:
Windows Installer: PlotJuggler_WIN_Installer-2.8.4.exe
How to build
Clone the repository as usual:
git clone --recurse-submodules https://github.com/facontidavide/PlotJuggler.git
The only binary dependency that you need installed in your system is Qt5. On Ubuntu, the debians can be installed with the the command:
sudo apt -y install qtbase5-dev libqt5svg5-dev libqt5websockets5-dev libqt5opengl5-dev
On Fedora:
sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-websockets-devel qt5-qtopendl-devel
Then compile using cmake (qmake is NOT supported):
mkdir build; cd build
cmake ..
make
sudo make install
Note: the plugins need to be installed in the same folder of the executable.
Note for ROS users
To install PlotJuggler, just type:
sudo apt install ros-${ROS_DISTRO}-plotjuggler-ros
And run it with:
roslaunch plotjuggler_ros plotjuggler.launch
Since version 3.x, ROS plugins have been moved to a separate repository:
https://github.com/PlotJuggler/plotjuggler-ros-plugins
Refer to the instructions in the this repository if you want to compile PJ and its ROS plugins from source.
If you like PlotJuggler, support it.
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 use PlotJuggler at work, your company can support the development of those specific features they need.
Contact me for more details.
Stargazers
Changelog for package plotjuggler
3.0.4 (2020-12-04)
- Lua ans Sol updated (c++17
- bug fix #350 (crash in lua)
- Contributors: Davide Faconti
3.0.2 (2020-11-28)
- fix icon color in dark mode
- updated to latest Qads
- temporary fix for #349
- link updated
- use correct dependency
- fix issue #348
- Contributors: Davide Faconti
3.0.0 (2020-11-23)
- Trying to fix issue #346
- Massive refactoring
- Contributors: Davide Faconti
2.8.4 (2020-08-15)
- readme updated
- fix issue #318
- fix #170 : problem with ULOG parser in Windows
- build fixes to work on ROS2 eloquent (#314)
- add qtpainterpath.h (#313)
- Update datastream_sample.cpp
- Update contributors.txt
- Fix another sprintf buffer size warning (#303)
- Contributors: Akash Patel, Davide Faconti, Lucas, Mike Purvis
2.8.3 (2020-07-11)
- more memes
- \"New versione vailable\" improved
- fix segmentation fault when tryin reconnect to ROS master
- Contributors: Davide Faconti
2.8.2 (2020-07-07)
- might fix issue #301
- fix warnings
- fix potential mutex problem related to #300
- bug fix
- Update package.xml
- updated gif
- cherry picking changes from #290
- fix #296
- fix issues on windows Qt 5.15
- fix error
- move StatePublisher to tf2
- revert changes
- fix warnings
- Contributors: Davide Faconti
2.8.1 (2020-05-28)
- fix critical bug in streaming ROS plugin
- Contributors: Davide Faconti
2.8.0 (2020-05-24)
- Update CMakeLists.txt
- Added graph context menu description (#288)
- Update FUNDING.yml
- Merge branch \'master\' of https://github.com/facontidavide/PlotJuggler
- finished with refactoring
- WIP: re publisher ROS2
- added stuff to dataload_ros2
- Update appimage_howto.md
- fix package name
- embrace pj_msgs (https://github.com/facontidavide/plotjuggler_msgs)
- new clang format and fix in header_stamp usage
- removed marl and rule editing
- more parsers added
- more or less working
- save computation like a champ with plot_data in each parser
- precompute strings only once
- fix compilation on ROS1
- Merge branch \'master\' of https://github.com/facontidavide/PlotJuggler
- builtin parsers added
-
Githug actions win (#284)
- try compiling on windows
- Update windows.yaml
- multiple workflows
* Update README.md Co-authored-by: daf@blue-ocean-robotics.com <Davide Faconti>
bug fix
segfault fixed in TypeHasHeader
removed rosdep of pj_msgs
added pj_msgs to ROS2
fix errors
heavy refactoring of ROS2 plugins
critical bug fix in ROS2 parsing
try to fix problem with StringTreeLeaf::toStr
reduce a bit allocations overhead
reduce memory used by the job queue of marl, with periodic flushes
Contributors: Davide Faconti, Ilya Petrov
2.7.0 (2020-05-03)
- Merge branch \'ros2\' of https://github.com/facontidavide/PlotJuggler into ros2
- added github actions for ros2
- last fixes to DataStreamROS2
- implemented DataLoadRosBag2
- compile with ament/colcon
- Contributors: Davide Faconti
2.6.4 (2020-04-30)
- Fix the damn icons
- marl updated
- fix issue #281
- catch exception in marl
- fix backward-cpp
- Implement feature #274
- Implement feature #269
- Contributors: Davide Faconti
2.6.3 (2020-04-07)
- Fix issue #271
- \@veimox added
-
Bugfix/executable (#264)
- created launching script , installing and making use of it in the icon
- ignoring temporary folders when creating binary locally
- corrected intsallation of script
* using PROGRAM to install it with executable permissions Co-authored-by: Jorge Rodriguez <jr@blue-ocean-robotics.com>
-
Feature/scalable icon (#265)
- installing icons in /usr/share and do it at any build type
- added scalable icon
* removed old icon Co-authored-by: Jorge Rodriguez <jr@blue-ocean-robotics.com>
fix default suffix
Fix bug #258
Contributors: Davide Faconti, Jorge Rodriguez
2.6.2 (2020-02-25)
- bug fix in IMU parser
- added step size for the time tracker
- fis issue #256 (new release dialog)
- Update README.md
- Contributors: Davide Faconti
2.6.1 (2020-02-21)
2.6.0 (2020-02-19)
- bug fix
- fix splashscreen delay
- GUI refinement
- regex filter removed. bug fix in column resize
- new icons in CurveList panel
- add text placeholder
- smaller buttons
- moved buttons to top right corner to gain more space
- changed style (sharper corners)
- bug fix: potential crash trying to save data into rosbag
- more ememes #248
- bug fix in Lua functions
- cleanups
- Merge branch \'lua_scripting\'
- Adding custom parser for Imu message (issue #238)
- remember the last value in the function editor
- minor update
- Both javascript and Lua langiages can be selected in preferences
- WIP to support both QML and Lua
- fix menu bar size of PlotJuggler
- scripting moved to Lua
- adding lua stuff to 3rd party libraries
- preliminary change to support #244 (#247)
- preliminary change to support #244
- Update .appveyor.yml
- Update README.md
- Update .appveyor.yml
- Update .appveyor.yml
- further cleanup
- moved files and cleanup
- Contributors: Davide Faconti
2.5.1 (2020-02-07)
- Fixed slow Menu Bar
- Use ordered map, appendData needs to insert data in order (#245) Otherwise the time order may not be respected and the data is loaded incorrectly
- prevent call of dropEvent() when not needed
- fix issue #239
- add include array header file to fix build error (#234)
- Contributors: Davide Faconti, Victor Lopez, xiaowei zhao
2.5.0 (2019-12-19)
- Fix issues #196 and #236: allow user to use deterministic color sequence
- fix the edit button
- fix issue #235
- Update appimage_howto.md
- fix timestamp problem in streaming
- Contributors: Davide Faconti
2.4.3 (2019-11-21)
- less dark theme
- bug fix
- Contributors: Davide Faconti
2.4.2 (2019-11-18)
- multithread ROS DataLoader
- directories moved
- manually resizable columns of table view
- Contributors: Davide Faconti
2.4.1 (2019-11-11)
- considerable speed improvement when MANY timeseries are loaded
- bug fix: slow update of left curve table
- AppImage update
- meme update
- Contributors: Davide Faconti
2.4.0 (2019-11-10)
- Tree view (#226)
- fix issue #225
- add version number of the layout syntax
- fix issue #222
- more readable plugin names
- fix issue #221
- Merge branch \'master\' of github.com:facontidavide/PlotJuggler
- minor bug fix
- Contributors: Davide Faconti
2.3.7 (2019-10-30)
- Dont take invisible curve into account for axis limit computation (#185)
- consistent line width
- do not close() a rosbag unless you accepted the dialog
- important bug fix: stop playback when loading new data
- fix bug in TopicPublisher
- do complete reset of globals in custom functions
- apply changes discussed in #220
- Merge branch \'master\' of github.com:facontidavide/PlotJuggler
- cherry picking bug fix from #220 : update custom functions Thanks \@aeudes
- Fix F10 is ambiguous (#219)
- fix compilation and add feature #218
- qwt updated
- appImage instructions updated
- Contributors: Davide Faconti, alexandre eudes
2.3.6 (2019-10-16)
- fix issue #215
- Contributors: Davide Faconti
2.3.5 (2019-10-11)
- remember the size of the splitter
- fix inveted XY
- Contributors: Davide Faconti
- remember last splashscreen
- Update README.md
- Update appimage_howto.md
- fix warning
- meme fixed
- Contributors: Davide Faconti
2.3.4 (2019-10-03)
- prepare \"meme edition\"
- Merge branch \'master\' of https://github.com/facontidavide/PlotJuggler
- RosMsgParsers: add cast to be clang compatible (#208)
- Update README.md
- Update FUNDING.yml
- Correct \"Github\" to \"GitHub\" (#206)
- 2.3.3
- fix issue with FMT
- Contributors: Dan Katzuv, Davide Faconti, Timon Engelke
2.3.3 (2019-10-01)
- removed explicit reference to Span
- remove abseil dependency (to be tested)
- Contributors: Davide Faconti
2.3.2 (2019-09-30)
- always use random color in addCurveXY
- Fix issue #204
- Fix issue #203
- Add missed absl Span<T> header include
- Add missed abseil_cpp depend
- Contributors: Davide Faconti, Enrique Fernandez
2.3.1 (2019-09-24)
- Fix #202 use_header_stamp not initialized for built-in types
- Merge pull request #200 from aeudes/multiple_streamer data stream topic plugin
- new color palette
- Allow to have working datastreamtopic plugin in more than one plotjuggler instance
- adding covariance to Odometry msg again
- fix issue #187
- Fix segfault when swap plotwidget on archlinux (qt5.12.3). This bug is introduced in: 7959e54 Spurious DragLeave fixed? And produce a segfault(nullptr) in QCursor::shape() call by QBasicDrag::updateCursor(Qt::DropAction) [trigger by plotwidget.cpp:1352 drag->exec();]. It seems to me that the change of global application cursor on leave event during drag drop operation cause the problem [is it the drop widget duty to reset cursor?].
- minor fixes related to dark theme
- Contributors: Alexandre Eudes, Davide Faconti
2.3.0 (2019-07-11)
- Countless changes and merges of PR.
- Contributors: Alexandre Eudes, Davide Faconti, Juan Francisco Rasc
Wiki Tutorials
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | catkin | |
1 | ament_cmake | |
1 | roslib | |
1 | ament_index_cpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plotjuggler at answers.ros.org
![]() |
plotjuggler package from plotjuggler repoplotjuggler |
|
Package Summary
Tags | No category tags. |
Version | 3.0.4 |
License | LGPLv3 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/facontidavide/PlotJuggler.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-05-19 |
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
Additional Links
Maintainers
- Davide Faconti
Authors
- Davide Faconti
PlotJuggler 3.0
PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.
Noteworthy features:
- Simple Drag & Drop user interface.
- Load static 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.
Data sources (file and streaming)
- Load CSV files.
- Load ULog (PX4).
- Subscribe to many different streaming sources: MQTT, Websockets, ZeroMQ, UDP, ROS, etc.
- Understands data formats such as JSON, CBOR, BSON, Message Pack, etc.
- Open Rosbags and subscribe to ROS topics (both ROS1 and ROS2).
- 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 ;)
Just "Download and Run"
On Linux, the simplest way to install PlotJuggler is through snaps:
Windows Installer: PlotJuggler_WIN_Installer-2.8.4.exe
How to build
Clone the repository as usual:
git clone --recurse-submodules https://github.com/facontidavide/PlotJuggler.git
The only binary dependency that you need installed in your system is Qt5. On Ubuntu, the debians can be installed with the the command:
sudo apt -y install qtbase5-dev libqt5svg5-dev libqt5websockets5-dev libqt5opengl5-dev
On Fedora:
sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-websockets-devel qt5-qtopendl-devel
Then compile using cmake (qmake is NOT supported):
mkdir build; cd build
cmake ..
make
sudo make install
Note: the plugins need to be installed in the same folder of the executable.
Note for ROS users
To install PlotJuggler, just type:
sudo apt install ros-${ROS_DISTRO}-plotjuggler-ros
And run it with:
roslaunch plotjuggler_ros plotjuggler.launch
Since version 3.x, ROS plugins have been moved to a separate repository:
https://github.com/PlotJuggler/plotjuggler-ros-plugins
Refer to the instructions in the this repository if you want to compile PJ and its ROS plugins from source.
If you like PlotJuggler, support it.
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 use PlotJuggler at work, your company can support the development of those specific features they need.
Contact me for more details.
Stargazers
Changelog for package plotjuggler
3.0.4 (2020-12-04)
- Lua ans Sol updated (c++17
- bug fix #350 (crash in lua)
- Contributors: Davide Faconti
3.0.2 (2020-11-28)
- fix icon color in dark mode
- updated to latest Qads
- temporary fix for #349
- link updated
- use correct dependency
- fix issue #348
- Contributors: Davide Faconti
3.0.0 (2020-11-23)
- Trying to fix issue #346
- Massive refactoring
- Contributors: Davide Faconti
2.8.4 (2020-08-15)
- readme updated
- fix issue #318
- fix #170 : problem with ULOG parser in Windows
- build fixes to work on ROS2 eloquent (#314)
- add qtpainterpath.h (#313)
- Update datastream_sample.cpp
- Update contributors.txt
- Fix another sprintf buffer size warning (#303)
- Contributors: Akash Patel, Davide Faconti, Lucas, Mike Purvis
2.8.3 (2020-07-11)
- more memes
- \"New versione vailable\" improved
- fix segmentation fault when tryin reconnect to ROS master
- Contributors: Davide Faconti
2.8.2 (2020-07-07)
- might fix issue #301
- fix warnings
- fix potential mutex problem related to #300
- bug fix
- Update package.xml
- updated gif
- cherry picking changes from #290
- fix #296
- fix issues on windows Qt 5.15
- fix error
- move StatePublisher to tf2
- revert changes
- fix warnings
- Contributors: Davide Faconti
2.8.1 (2020-05-28)
- fix critical bug in streaming ROS plugin
- Contributors: Davide Faconti
2.8.0 (2020-05-24)
- Update CMakeLists.txt
- Added graph context menu description (#288)
- Update FUNDING.yml
- Merge branch \'master\' of https://github.com/facontidavide/PlotJuggler
- finished with refactoring
- WIP: re publisher ROS2
- added stuff to dataload_ros2
- Update appimage_howto.md
- fix package name
- embrace pj_msgs (https://github.com/facontidavide/plotjuggler_msgs)
- new clang format and fix in header_stamp usage
- removed marl and rule editing
- more parsers added
- more or less working
- save computation like a champ with plot_data in each parser
- precompute strings only once
- fix compilation on ROS1
- Merge branch \'master\' of https://github.com/facontidavide/PlotJuggler
- builtin parsers added
-
Githug actions win (#284)
- try compiling on windows
- Update windows.yaml
- multiple workflows
* Update README.md Co-authored-by: daf@blue-ocean-robotics.com <Davide Faconti>
bug fix
segfault fixed in TypeHasHeader
removed rosdep of pj_msgs
added pj_msgs to ROS2
fix errors
heavy refactoring of ROS2 plugins
critical bug fix in ROS2 parsing
try to fix problem with StringTreeLeaf::toStr
reduce a bit allocations overhead
reduce memory used by the job queue of marl, with periodic flushes
Contributors: Davide Faconti, Ilya Petrov
2.7.0 (2020-05-03)
- Merge branch \'ros2\' of https://github.com/facontidavide/PlotJuggler into ros2
- added github actions for ros2
- last fixes to DataStreamROS2
- implemented DataLoadRosBag2
- compile with ament/colcon
- Contributors: Davide Faconti
2.6.4 (2020-04-30)
- Fix the damn icons
- marl updated
- fix issue #281
- catch exception in marl
- fix backward-cpp
- Implement feature #274
- Implement feature #269
- Contributors: Davide Faconti
2.6.3 (2020-04-07)
- Fix issue #271
- \@veimox added
-
Bugfix/executable (#264)
- created launching script , installing and making use of it in the icon
- ignoring temporary folders when creating binary locally
- corrected intsallation of script
* using PROGRAM to install it with executable permissions Co-authored-by: Jorge Rodriguez <jr@blue-ocean-robotics.com>
-
Feature/scalable icon (#265)
- installing icons in /usr/share and do it at any build type
- added scalable icon
* removed old icon Co-authored-by: Jorge Rodriguez <jr@blue-ocean-robotics.com>
fix default suffix
Fix bug #258
Contributors: Davide Faconti, Jorge Rodriguez
2.6.2 (2020-02-25)
- bug fix in IMU parser
- added step size for the time tracker
- fis issue #256 (new release dialog)
- Update README.md
- Contributors: Davide Faconti
2.6.1 (2020-02-21)
2.6.0 (2020-02-19)
- bug fix
- fix splashscreen delay
- GUI refinement
- regex filter removed. bug fix in column resize
- new icons in CurveList panel
- add text placeholder
- smaller buttons
- moved buttons to top right corner to gain more space
- changed style (sharper corners)
- bug fix: potential crash trying to save data into rosbag
- more ememes #248
- bug fix in Lua functions
- cleanups
- Merge branch \'lua_scripting\'
- Adding custom parser for Imu message (issue #238)
- remember the last value in the function editor
- minor update
- Both javascript and Lua langiages can be selected in preferences
- WIP to support both QML and Lua
- fix menu bar size of PlotJuggler
- scripting moved to Lua
- adding lua stuff to 3rd party libraries
- preliminary change to support #244 (#247)
- preliminary change to support #244
- Update .appveyor.yml
- Update README.md
- Update .appveyor.yml
- Update .appveyor.yml
- further cleanup
- moved files and cleanup
- Contributors: Davide Faconti
2.5.1 (2020-02-07)
- Fixed slow Menu Bar
- Use ordered map, appendData needs to insert data in order (#245) Otherwise the time order may not be respected and the data is loaded incorrectly
- prevent call of dropEvent() when not needed
- fix issue #239
- add include array header file to fix build error (#234)
- Contributors: Davide Faconti, Victor Lopez, xiaowei zhao
2.5.0 (2019-12-19)
- Fix issues #196 and #236: allow user to use deterministic color sequence
- fix the edit button
- fix issue #235
- Update appimage_howto.md
- fix timestamp problem in streaming
- Contributors: Davide Faconti
2.4.3 (2019-11-21)
- less dark theme
- bug fix
- Contributors: Davide Faconti
2.4.2 (2019-11-18)
- multithread ROS DataLoader
- directories moved
- manually resizable columns of table view
- Contributors: Davide Faconti
2.4.1 (2019-11-11)
- considerable speed improvement when MANY timeseries are loaded
- bug fix: slow update of left curve table
- AppImage update
- meme update
- Contributors: Davide Faconti
2.4.0 (2019-11-10)
- Tree view (#226)
- fix issue #225
- add version number of the layout syntax
- fix issue #222
- more readable plugin names
- fix issue #221
- Merge branch \'master\' of github.com:facontidavide/PlotJuggler
- minor bug fix
- Contributors: Davide Faconti
2.3.7 (2019-10-30)
- Dont take invisible curve into account for axis limit computation (#185)
- consistent line width
- do not close() a rosbag unless you accepted the dialog
- important bug fix: stop playback when loading new data
- fix bug in TopicPublisher
- do complete reset of globals in custom functions
- apply changes discussed in #220
- Merge branch \'master\' of github.com:facontidavide/PlotJuggler
- cherry picking bug fix from #220 : update custom functions Thanks \@aeudes
- Fix F10 is ambiguous (#219)
- fix compilation and add feature #218
- qwt updated
- appImage instructions updated
- Contributors: Davide Faconti, alexandre eudes
2.3.6 (2019-10-16)
- fix issue #215
- Contributors: Davide Faconti
2.3.5 (2019-10-11)
- remember the size of the splitter
- fix inveted XY
- Contributors: Davide Faconti
- remember last splashscreen
- Update README.md
- Update appimage_howto.md
- fix warning
- meme fixed
- Contributors: Davide Faconti
2.3.4 (2019-10-03)
- prepare \"meme edition\"
- Merge branch \'master\' of https://github.com/facontidavide/PlotJuggler
- RosMsgParsers: add cast to be clang compatible (#208)
- Update README.md
- Update FUNDING.yml
- Correct \"Github\" to \"GitHub\" (#206)
- 2.3.3
- fix issue with FMT
- Contributors: Dan Katzuv, Davide Faconti, Timon Engelke
2.3.3 (2019-10-01)
- removed explicit reference to Span
- remove abseil dependency (to be tested)
- Contributors: Davide Faconti
2.3.2 (2019-09-30)
- always use random color in addCurveXY
- Fix issue #204
- Fix issue #203
- Add missed absl Span<T> header include
- Add missed abseil_cpp depend
- Contributors: Davide Faconti, Enrique Fernandez
2.3.1 (2019-09-24)
- Fix #202 use_header_stamp not initialized for built-in types
- Merge pull request #200 from aeudes/multiple_streamer data stream topic plugin
- new color palette
- Allow to have working datastreamtopic plugin in more than one plotjuggler instance
- adding covariance to Odometry msg again
- fix issue #187
- Fix segfault when swap plotwidget on archlinux (qt5.12.3). This bug is introduced in: 7959e54 Spurious DragLeave fixed? And produce a segfault(nullptr) in QCursor::shape() call by QBasicDrag::updateCursor(Qt::DropAction) [trigger by plotwidget.cpp:1352 drag->exec();]. It seems to me that the change of global application cursor on leave event during drag drop operation cause the problem [is it the drop widget duty to reset cursor?].
- minor fixes related to dark theme
- Contributors: Alexandre Eudes, Davide Faconti
2.3.0 (2019-07-11)
- Countless changes and merges of PR.
- Contributors: Alexandre Eudes, Davide Faconti, Juan Francisco Rasc
Wiki Tutorials
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | catkin | |
1 | ament_cmake | |
1 | roslib | |
1 | ament_index_cpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plotjuggler at answers.ros.org
![]() |
plotjuggler package from plotjuggler repoplotjuggler |
|
Package Summary
Tags | No category tags. |
Version | 3.0.4 |
License | LGPLv3 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/facontidavide/PlotJuggler.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-05-19 |
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
Additional Links
Maintainers
- Davide Faconti
Authors
- Davide Faconti
PlotJuggler 3.0
PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.
Noteworthy features:
- Simple Drag & Drop user interface.
- Load static 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.
Data sources (file and streaming)
- Load CSV files.
- Load ULog (PX4).
- Subscribe to many different streaming sources: MQTT, Websockets, ZeroMQ, UDP, ROS, etc.
- Understands data formats such as JSON, CBOR, BSON, Message Pack, etc.
- Open Rosbags and subscribe to ROS topics (both ROS1 and ROS2).
- 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 ;)
Just "Download and Run"
On Linux, the simplest way to install PlotJuggler is through snaps:
Windows Installer: PlotJuggler_WIN_Installer-2.8.4.exe
How to build
Clone the repository as usual:
git clone --recurse-submodules https://github.com/facontidavide/PlotJuggler.git
The only binary dependency that you need installed in your system is Qt5. On Ubuntu, the debians can be installed with the the command:
sudo apt -y install qtbase5-dev libqt5svg5-dev libqt5websockets5-dev libqt5opengl5-dev
On Fedora:
sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-websockets-devel qt5-qtopendl-devel
Then compile using cmake (qmake is NOT supported):
mkdir build; cd build
cmake ..
make
sudo make install
Note: the plugins need to be installed in the same folder of the executable.
Note for ROS users
To install PlotJuggler, just type:
sudo apt install ros-${ROS_DISTRO}-plotjuggler-ros
And run it with:
roslaunch plotjuggler_ros plotjuggler.launch
Since version 3.x, ROS plugins have been moved to a separate repository:
https://github.com/PlotJuggler/plotjuggler-ros-plugins
Refer to the instructions in the this repository if you want to compile PJ and its ROS plugins from source.
If you like PlotJuggler, support it.
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 use PlotJuggler at work, your company can support the development of those specific features they need.
Contact me for more details.
Stargazers
Changelog for package plotjuggler
3.0.4 (2020-12-04)
- Lua ans Sol updated (c++17
- bug fix #350 (crash in lua)
- Contributors: Davide Faconti
3.0.2 (2020-11-28)
- fix icon color in dark mode
- updated to latest Qads
- temporary fix for #349
- link updated
- use correct dependency
- fix issue #348
- Contributors: Davide Faconti
3.0.0 (2020-11-23)
- Trying to fix issue #346
- Massive refactoring
- Contributors: Davide Faconti
2.8.4 (2020-08-15)
- readme updated
- fix issue #318
- fix #170 : problem with ULOG parser in Windows
- build fixes to work on ROS2 eloquent (#314)
- add qtpainterpath.h (#313)
- Update datastream_sample.cpp
- Update contributors.txt
- Fix another sprintf buffer size warning (#303)
- Contributors: Akash Patel, Davide Faconti, Lucas, Mike Purvis
2.8.3 (2020-07-11)
- more memes
- \"New versione vailable\" improved
- fix segmentation fault when tryin reconnect to ROS master
- Contributors: Davide Faconti
2.8.2 (2020-07-07)
- might fix issue #301
- fix warnings
- fix potential mutex problem related to #300
- bug fix
- Update package.xml
- updated gif
- cherry picking changes from #290
- fix #296
- fix issues on windows Qt 5.15
- fix error
- move StatePublisher to tf2
- revert changes
- fix warnings
- Contributors: Davide Faconti
2.8.1 (2020-05-28)
- fix critical bug in streaming ROS plugin
- Contributors: Davide Faconti
2.8.0 (2020-05-24)
- Update CMakeLists.txt
- Added graph context menu description (#288)
- Update FUNDING.yml
- Merge branch \'master\' of https://github.com/facontidavide/PlotJuggler
- finished with refactoring
- WIP: re publisher ROS2
- added stuff to dataload_ros2
- Update appimage_howto.md
- fix package name
- embrace pj_msgs (https://github.com/facontidavide/plotjuggler_msgs)
- new clang format and fix in header_stamp usage
- removed marl and rule editing
- more parsers added
- more or less working
- save computation like a champ with plot_data in each parser
- precompute strings only once
- fix compilation on ROS1
- Merge branch \'master\' of https://github.com/facontidavide/PlotJuggler
- builtin parsers added
-
Githug actions win (#284)
- try compiling on windows
- Update windows.yaml
- multiple workflows
* Update README.md Co-authored-by: daf@blue-ocean-robotics.com <Davide Faconti>
bug fix
segfault fixed in TypeHasHeader
removed rosdep of pj_msgs
added pj_msgs to ROS2
fix errors
heavy refactoring of ROS2 plugins
critical bug fix in ROS2 parsing
try to fix problem with StringTreeLeaf::toStr
reduce a bit allocations overhead
reduce memory used by the job queue of marl, with periodic flushes
Contributors: Davide Faconti, Ilya Petrov
2.7.0 (2020-05-03)
- Merge branch \'ros2\' of https://github.com/facontidavide/PlotJuggler into ros2
- added github actions for ros2
- last fixes to DataStreamROS2
- implemented DataLoadRosBag2
- compile with ament/colcon
- Contributors: Davide Faconti
2.6.4 (2020-04-30)
- Fix the damn icons
- marl updated
- fix issue #281
- catch exception in marl
- fix backward-cpp
- Implement feature #274
- Implement feature #269
- Contributors: Davide Faconti
2.6.3 (2020-04-07)
- Fix issue #271
- \@veimox added
-
Bugfix/executable (#264)
- created launching script , installing and making use of it in the icon
- ignoring temporary folders when creating binary locally
- corrected intsallation of script
* using PROGRAM to install it with executable permissions Co-authored-by: Jorge Rodriguez <jr@blue-ocean-robotics.com>
-
Feature/scalable icon (#265)
- installing icons in /usr/share and do it at any build type
- added scalable icon
* removed old icon Co-authored-by: Jorge Rodriguez <jr@blue-ocean-robotics.com>
fix default suffix
Fix bug #258
Contributors: Davide Faconti, Jorge Rodriguez
2.6.2 (2020-02-25)
- bug fix in IMU parser
- added step size for the time tracker
- fis issue #256 (new release dialog)
- Update README.md
- Contributors: Davide Faconti
2.6.1 (2020-02-21)
2.6.0 (2020-02-19)
- bug fix
- fix splashscreen delay
- GUI refinement
- regex filter removed. bug fix in column resize
- new icons in CurveList panel
- add text placeholder
- smaller buttons
- moved buttons to top right corner to gain more space
- changed style (sharper corners)
- bug fix: potential crash trying to save data into rosbag
- more ememes #248
- bug fix in Lua functions
- cleanups
- Merge branch \'lua_scripting\'
- Adding custom parser for Imu message (issue #238)
- remember the last value in the function editor
- minor update
- Both javascript and Lua langiages can be selected in preferences
- WIP to support both QML and Lua
- fix menu bar size of PlotJuggler
- scripting moved to Lua
- adding lua stuff to 3rd party libraries
- preliminary change to support #244 (#247)
- preliminary change to support #244
- Update .appveyor.yml
- Update README.md
- Update .appveyor.yml
- Update .appveyor.yml
- further cleanup
- moved files and cleanup
- Contributors: Davide Faconti
2.5.1 (2020-02-07)
- Fixed slow Menu Bar
- Use ordered map, appendData needs to insert data in order (#245) Otherwise the time order may not be respected and the data is loaded incorrectly
- prevent call of dropEvent() when not needed
- fix issue #239
- add include array header file to fix build error (#234)
- Contributors: Davide Faconti, Victor Lopez, xiaowei zhao
2.5.0 (2019-12-19)
- Fix issues #196 and #236: allow user to use deterministic color sequence
- fix the edit button
- fix issue #235
- Update appimage_howto.md
- fix timestamp problem in streaming
- Contributors: Davide Faconti
2.4.3 (2019-11-21)
- less dark theme
- bug fix
- Contributors: Davide Faconti
2.4.2 (2019-11-18)
- multithread ROS DataLoader
- directories moved
- manually resizable columns of table view
- Contributors: Davide Faconti
2.4.1 (2019-11-11)
- considerable speed improvement when MANY timeseries are loaded
- bug fix: slow update of left curve table
- AppImage update
- meme update
- Contributors: Davide Faconti
2.4.0 (2019-11-10)
- Tree view (#226)
- fix issue #225
- add version number of the layout syntax
- fix issue #222
- more readable plugin names
- fix issue #221
- Merge branch \'master\' of github.com:facontidavide/PlotJuggler
- minor bug fix
- Contributors: Davide Faconti
2.3.7 (2019-10-30)
- Dont take invisible curve into account for axis limit computation (#185)
- consistent line width
- do not close() a rosbag unless you accepted the dialog
- important bug fix: stop playback when loading new data
- fix bug in TopicPublisher
- do complete reset of globals in custom functions
- apply changes discussed in #220
- Merge branch \'master\' of github.com:facontidavide/PlotJuggler
- cherry picking bug fix from #220 : update custom functions Thanks \@aeudes
- Fix F10 is ambiguous (#219)
- fix compilation and add feature #218
- qwt updated
- appImage instructions updated
- Contributors: Davide Faconti, alexandre eudes
2.3.6 (2019-10-16)
- fix issue #215
- Contributors: Davide Faconti
2.3.5 (2019-10-11)
- remember the size of the splitter
- fix inveted XY
- Contributors: Davide Faconti
- remember last splashscreen
- Update README.md
- Update appimage_howto.md
- fix warning
- meme fixed
- Contributors: Davide Faconti
2.3.4 (2019-10-03)
- prepare \"meme edition\"
- Merge branch \'master\' of https://github.com/facontidavide/PlotJuggler
- RosMsgParsers: add cast to be clang compatible (#208)
- Update README.md
- Update FUNDING.yml
- Correct \"Github\" to \"GitHub\" (#206)
- 2.3.3
- fix issue with FMT
- Contributors: Dan Katzuv, Davide Faconti, Timon Engelke
2.3.3 (2019-10-01)
- removed explicit reference to Span
- remove abseil dependency (to be tested)
- Contributors: Davide Faconti
2.3.2 (2019-09-30)
- always use random color in addCurveXY
- Fix issue #204
- Fix issue #203
- Add missed absl Span<T> header include
- Add missed abseil_cpp depend
- Contributors: Davide Faconti, Enrique Fernandez
2.3.1 (2019-09-24)
- Fix #202 use_header_stamp not initialized for built-in types
- Merge pull request #200 from aeudes/multiple_streamer data stream topic plugin
- new color palette
- Allow to have working datastreamtopic plugin in more than one plotjuggler instance
- adding covariance to Odometry msg again
- fix issue #187
- Fix segfault when swap plotwidget on archlinux (qt5.12.3). This bug is introduced in: 7959e54 Spurious DragLeave fixed? And produce a segfault(nullptr) in QCursor::shape() call by QBasicDrag::updateCursor(Qt::DropAction) [trigger by plotwidget.cpp:1352 drag->exec();]. It seems to me that the change of global application cursor on leave event during drag drop operation cause the problem [is it the drop widget duty to reset cursor?].
- minor fixes related to dark theme
- Contributors: Alexandre Eudes, Davide Faconti
2.3.0 (2019-07-11)
- Countless changes and merges of PR.
- Contributors: Alexandre Eudes, Davide Faconti, Juan Francisco Rasc
Wiki Tutorials
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | catkin | |
1 | ament_cmake | |
1 | roslib | |
1 | ament_index_cpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plotjuggler at answers.ros.org
![]() |
plotjuggler package from plotjuggler repoplotjuggler |
|
Package Summary
Tags | No category tags. |
Version | 3.0.4 |
License | LGPLv3 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/facontidavide/PlotJuggler.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-05-19 |
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
Additional Links
Maintainers
- Davide Faconti
Authors
- Davide Faconti
PlotJuggler 3.0
PlotJuggler is a tool to visualize time series that is fast, powerful and intuitive.
Noteworthy features:
- Simple Drag & Drop user interface.
- Load static 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.
Data sources (file and streaming)
- Load CSV files.
- Load ULog (PX4).
- Subscribe to many different streaming sources: MQTT, Websockets, ZeroMQ, UDP, ROS, etc.
- Understands data formats such as JSON, CBOR, BSON, Message Pack, etc.
- Open Rosbags and subscribe to ROS topics (both ROS1 and ROS2).
- 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 ;)
Just "Download and Run"
On Linux, the simplest way to install PlotJuggler is through snaps:
Windows Installer: PlotJuggler_WIN_Installer-2.8.4.exe
How to build
Clone the repository as usual:
git clone --recurse-submodules https://github.com/facontidavide/PlotJuggler.git
The only binary dependency that you need installed in your system is Qt5. On Ubuntu, the debians can be installed with the the command:
sudo apt -y install qtbase5-dev libqt5svg5-dev libqt5websockets5-dev libqt5opengl5-dev
On Fedora:
sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-websockets-devel qt5-qtopendl-devel
Then compile using cmake (qmake is NOT supported):
mkdir build; cd build
cmake ..
make
sudo make install
Note: the plugins need to be installed in the same folder of the executable.
Note for ROS users
To install PlotJuggler, just type:
sudo apt install ros-${ROS_DISTRO}-plotjuggler-ros
And run it with:
roslaunch plotjuggler_ros plotjuggler.launch
Since version 3.x, ROS plugins have been moved to a separate repository:
https://github.com/PlotJuggler/plotjuggler-ros-plugins
Refer to the instructions in the this repository if you want to compile PJ and its ROS plugins from source.
If you like PlotJuggler, support it.
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 use PlotJuggler at work, your company can support the development of those specific features they need.
Contact me for more details.
Stargazers
Changelog for package plotjuggler
3.0.4 (2020-12-04)
- Lua ans Sol updated (c++17
- bug fix #350 (crash in lua)
- Contributors: Davide Faconti
3.0.2 (2020-11-28)
- fix icon color in dark mode
- updated to latest Qads
- temporary fix for #349
- link updated
- use correct dependency
- fix issue #348
- Contributors: Davide Faconti
3.0.0 (2020-11-23)
- Trying to fix issue #346
- Massive refactoring
- Contributors: Davide Faconti
2.8.4 (2020-08-15)
- readme updated
- fix issue #318
- fix #170 : problem with ULOG parser in Windows
- build fixes to work on ROS2 eloquent (#314)
- add qtpainterpath.h (#313)
- Update datastream_sample.cpp
- Update contributors.txt
- Fix another sprintf buffer size warning (#303)
- Contributors: Akash Patel, Davide Faconti, Lucas, Mike Purvis
2.8.3 (2020-07-11)
- more memes
- \"New versione vailable\" improved
- fix segmentation fault when tryin reconnect to ROS master
- Contributors: Davide Faconti
2.8.2 (2020-07-07)
- might fix issue #301
- fix warnings
- fix potential mutex problem related to #300
- bug fix
- Update package.xml
- updated gif
- cherry picking changes from #290
- fix #296
- fix issues on windows Qt 5.15
- fix error
- move StatePublisher to tf2
- revert changes
- fix warnings
- Contributors: Davide Faconti
2.8.1 (2020-05-28)
- fix critical bug in streaming ROS plugin
- Contributors: Davide Faconti
2.8.0 (2020-05-24)
- Update CMakeLists.txt
- Added graph context menu description (#288)
- Update FUNDING.yml
- Merge branch \'master\' of https://github.com/facontidavide/PlotJuggler
- finished with refactoring
- WIP: re publisher ROS2
- added stuff to dataload_ros2
- Update appimage_howto.md
- fix package name
- embrace pj_msgs (https://github.com/facontidavide/plotjuggler_msgs)
- new clang format and fix in header_stamp usage
- removed marl and rule editing
- more parsers added
- more or less working
- save computation like a champ with plot_data in each parser
- precompute strings only once
- fix compilation on ROS1
- Merge branch \'master\' of https://github.com/facontidavide/PlotJuggler
- builtin parsers added
-
Githug actions win (#284)
- try compiling on windows
- Update windows.yaml
- multiple workflows
* Update README.md Co-authored-by: daf@blue-ocean-robotics.com <Davide Faconti>
bug fix
segfault fixed in TypeHasHeader
removed rosdep of pj_msgs
added pj_msgs to ROS2
fix errors
heavy refactoring of ROS2 plugins
critical bug fix in ROS2 parsing
try to fix problem with StringTreeLeaf::toStr
reduce a bit allocations overhead
reduce memory used by the job queue of marl, with periodic flushes
Contributors: Davide Faconti, Ilya Petrov
2.7.0 (2020-05-03)
- Merge branch \'ros2\' of https://github.com/facontidavide/PlotJuggler into ros2
- added github actions for ros2
- last fixes to DataStreamROS2
- implemented DataLoadRosBag2
- compile with ament/colcon
- Contributors: Davide Faconti
2.6.4 (2020-04-30)
- Fix the damn icons
- marl updated
- fix issue #281
- catch exception in marl
- fix backward-cpp
- Implement feature #274
- Implement feature #269
- Contributors: Davide Faconti
2.6.3 (2020-04-07)
- Fix issue #271
- \@veimox added
-
Bugfix/executable (#264)
- created launching script , installing and making use of it in the icon
- ignoring temporary folders when creating binary locally
- corrected intsallation of script
* using PROGRAM to install it with executable permissions Co-authored-by: Jorge Rodriguez <jr@blue-ocean-robotics.com>
-
Feature/scalable icon (#265)
- installing icons in /usr/share and do it at any build type
- added scalable icon
* removed old icon Co-authored-by: Jorge Rodriguez <jr@blue-ocean-robotics.com>
fix default suffix
Fix bug #258
Contributors: Davide Faconti, Jorge Rodriguez
2.6.2 (2020-02-25)
- bug fix in IMU parser
- added step size for the time tracker
- fis issue #256 (new release dialog)
- Update README.md
- Contributors: Davide Faconti
2.6.1 (2020-02-21)
2.6.0 (2020-02-19)
- bug fix
- fix splashscreen delay
- GUI refinement
- regex filter removed. bug fix in column resize
- new icons in CurveList panel
- add text placeholder
- smaller buttons
- moved buttons to top right corner to gain more space
- changed style (sharper corners)
- bug fix: potential crash trying to save data into rosbag
- more ememes #248
- bug fix in Lua functions
- cleanups
- Merge branch \'lua_scripting\'
- Adding custom parser for Imu message (issue #238)
- remember the last value in the function editor
- minor update
- Both javascript and Lua langiages can be selected in preferences
- WIP to support both QML and Lua
- fix menu bar size of PlotJuggler
- scripting moved to Lua
- adding lua stuff to 3rd party libraries
- preliminary change to support #244 (#247)
- preliminary change to support #244
- Update .appveyor.yml
- Update README.md
- Update .appveyor.yml
- Update .appveyor.yml
- further cleanup
- moved files and cleanup
- Contributors: Davide Faconti
2.5.1 (2020-02-07)
- Fixed slow Menu Bar
- Use ordered map, appendData needs to insert data in order (#245) Otherwise the time order may not be respected and the data is loaded incorrectly
- prevent call of dropEvent() when not needed
- fix issue #239
- add include array header file to fix build error (#234)
- Contributors: Davide Faconti, Victor Lopez, xiaowei zhao
2.5.0 (2019-12-19)
- Fix issues #196 and #236: allow user to use deterministic color sequence
- fix the edit button
- fix issue #235
- Update appimage_howto.md
- fix timestamp problem in streaming
- Contributors: Davide Faconti
2.4.3 (2019-11-21)
- less dark theme
- bug fix
- Contributors: Davide Faconti
2.4.2 (2019-11-18)
- multithread ROS DataLoader
- directories moved
- manually resizable columns of table view
- Contributors: Davide Faconti
2.4.1 (2019-11-11)
- considerable speed improvement when MANY timeseries are loaded
- bug fix: slow update of left curve table
- AppImage update
- meme update
- Contributors: Davide Faconti
2.4.0 (2019-11-10)
- Tree view (#226)
- fix issue #225
- add version number of the layout syntax
- fix issue #222
- more readable plugin names
- fix issue #221
- Merge branch \'master\' of github.com:facontidavide/PlotJuggler
- minor bug fix
- Contributors: Davide Faconti
2.3.7 (2019-10-30)
- Dont take invisible curve into account for axis limit computation (#185)
- consistent line width
- do not close() a rosbag unless you accepted the dialog
- important bug fix: stop playback when loading new data
- fix bug in TopicPublisher
- do complete reset of globals in custom functions
- apply changes discussed in #220
- Merge branch \'master\' of github.com:facontidavide/PlotJuggler
- cherry picking bug fix from #220 : update custom functions Thanks \@aeudes
- Fix F10 is ambiguous (#219)
- fix compilation and add feature #218
- qwt updated
- appImage instructions updated
- Contributors: Davide Faconti, alexandre eudes
2.3.6 (2019-10-16)
- fix issue #215
- Contributors: Davide Faconti
2.3.5 (2019-10-11)
- remember the size of the splitter
- fix inveted XY
- Contributors: Davide Faconti
- remember last splashscreen
- Update README.md
- Update appimage_howto.md
- fix warning
- meme fixed
- Contributors: Davide Faconti
2.3.4 (2019-10-03)
- prepare \"meme edition\"
- Merge branch \'master\' of https://github.com/facontidavide/PlotJuggler
- RosMsgParsers: add cast to be clang compatible (#208)
- Update README.md
- Update FUNDING.yml
- Correct \"Github\" to \"GitHub\" (#206)
- 2.3.3
- fix issue with FMT
- Contributors: Dan Katzuv, Davide Faconti, Timon Engelke
2.3.3 (2019-10-01)
- removed explicit reference to Span
- remove abseil dependency (to be tested)
- Contributors: Davide Faconti
2.3.2 (2019-09-30)
- always use random color in addCurveXY
- Fix issue #204
- Fix issue #203
- Add missed absl Span<T> header include
- Add missed abseil_cpp depend
- Contributors: Davide Faconti, Enrique Fernandez
2.3.1 (2019-09-24)
- Fix #202 use_header_stamp not initialized for built-in types
- Merge pull request #200 from aeudes/multiple_streamer data stream topic plugin
- new color palette
- Allow to have working datastreamtopic plugin in more than one plotjuggler instance
- adding covariance to Odometry msg again
- fix issue #187
- Fix segfault when swap plotwidget on archlinux (qt5.12.3). This bug is introduced in: 7959e54 Spurious DragLeave fixed? And produce a segfault(nullptr) in QCursor::shape() call by QBasicDrag::updateCursor(Qt::DropAction) [trigger by plotwidget.cpp:1352 drag->exec();]. It seems to me that the change of global application cursor on leave event during drag drop operation cause the problem [is it the drop widget duty to reset cursor?].
- minor fixes related to dark theme
- Contributors: Alexandre Eudes, Davide Faconti
2.3.0 (2019-07-11)
- Countless changes and merges of PR.
- Contributors: Alexandre Eudes, Davide Faconti, Juan Francisco Rasc
Wiki Tutorials
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | catkin | |
1 | ament_cmake | |
1 | roslib | |
1 | ament_index_cpp |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged plotjuggler at answers.ros.org
![]() |
plotjuggler package from plotjuggler repoplotjuggler |
|
Package Summary
Tags | No category tags. |
Version | 3.7.1 |
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 | 2023-09-22 |
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
Additional Links
Maintainers
- Davide Faconti
Authors
- Davide Faconti
Gold Sponsor: Greenzie
PlotJuggler 3.7
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.
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.
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
Contributors
Changelog for package plotjuggler
3.7.0 (2023-05-19)
- Handle protobuf maps (#824) Protobuf maps are just repeated protobuf messages with only 2 fields \"key\" and \"value\". Extract the map\'s key and use it in the series name and skip adding series for \"key\" fields to reduce the number of non useful series. Additionally don\'t include \"value\" in the series name for the value of a map.
- add progress dialog to MCAP loading
- new plugin: DataTamer parser
- performance optimization in pushBack
- more information in MCAP error
- optimization in MoveData
- address #820
- Prevent runtime_error exceptions from plugins crashing the main app (#812) Catch runtime_error exceptions thrown from the plugins and skip the throwing plugins, so that the main app can continue its normal operation.
- fix(snap): add libzstd for mcap support (#815)
- Update README.md
- Add a \"central difference\" method of derivative calculation (#813)
- Updating COMPILE dependencies to install (#810) Taken from CI: https://github.com/facontidavide/PlotJuggler/blob/main/.github/workflows/ubuntu.yaml#L20-L31
- Fix the bug where the shared library Parquet is not linked (#807) The actual path to the shared library is in [\${PARQUET_SHARED_LIB}]{.title-ref} instead of in [\${PARQUET_LIBRARIES}]{.title-ref}.
- Add CMake into comp vars and minor format improvements (#804) Co-authored-by: Erick G. Islas Osuna <eislasosuna@netflix.com>
- Fix for missing preferences (#795)
- fix typos in \"tips and tricks\" cheatsheet (#798) fix a couple of minor typos in dialog text
- Support Proto\'s That Reference Google/Protobuf (#793)
-
Fix for segfault in DataLoadCSV destructor (#784)
- Change order of deletion for dialogs.
- First delete child dialog [_dateTime_dialog]{.title-ref} then parent [_dialog]{.title-ref}.
Add CodeQL workflow (#765)
[bugfix] String deserialization (#780)
forgot throw
fixing nan check (#777)
Update Reactive Scripts on playback loop (#771)
fix
Contributors: Alistair, AndyZe, Bartimaeus-, Connor Anderson, Davide Faconti, Erick G. Islas-Osuna, Guillaume Beuzeboc, Mark Cutler, Michael Orlov, Peter St