plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

Tags No category tags.
Version 2.8.4
License LGPLv3
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version foxy
Last Updated 2020-09-18
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Package Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

ROS (Kinetic / Melodic) ROS2 (Eloquent) Windows (Mingw)
CI CI CI

Join the chat at https://gitter.im/PlotJuggler/Lobby Tweet

PlotJuggler 2.8.4

QT5 based application to display time series in plots, using an intuitive "drag and drop" interface.

It can be used either to:

  • load static data from file or
  • connect to live streaming of data.

Its functionality can be easily extended through plugins.

To understand what PlotJuggler can do for you, take a look to the following video PlotJuggler on Vimeo

PlotJuggler

Supported formats

Compute calculations and transform your data

It is now possible to create custom timeseries! Simply write your own JavaScript or Lua function and apply it to one of more existing timeseries.

Many thanks to @1r0b1n0, who developed the initial version of this feature, and to our first sponsor, a robotics company that made a donation, but prefers to remain anonymous for the time being.

Watch this video to learn how to use it.

Custom timeseries

"Download and Run"

For those of you that can't wait and want to get their hands dirty, you can download these binaries:

Linux with ROS plugins: PlotJuggler-Linux-ROS-2.8.4.AppImage.

Do not forget to make it executable with the command

chmod +x ./PlotJuggler-*-x86_64.AppImage

Windows Installer: PlotJuggler_WIN_Installer-2.8.4.exe.

How to build (without ROS plugins)

Clone the repository as usual:

  git clone 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 command:

sudo apt-get -y install qtbase5-dev libqt5svg5-dev qtdeclarative5-dev qtmultimedia5-dev libqt5multimedia5-plugins

On Fedora:

sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel qt5-qtmultimedia-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 or in /usr/local/lib/PlotJuggler/.

How to build (ROS/ROS2 users)

The easiest way to install PlotJuggler is through the command:

sudo apt-get install ros-${ROS_DISTRO}-plotjuggler 

Nevertheless, if you want to compile it from source, for instance to try the very latest version on the master branch, you must build PlotJuggler using either catkin or colcon, otherwise the ROS related plugins will not be included.

Compiling with catkin_tools:

mkdir -p ws_plotjuggler/src; cd ws_plotjuggler/src
git clone https://github.com/facontidavide/PlotJuggler.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
catkin build
source devel/setup.bash

You should see the following message at the beginning of the compilation step:

"PlotJuggler is being built using CATKIN. ROS plugins will be compiled"

Both the executable and the plugins will be created in ws_plotjuggler/devel/lib/plotjuggler.

To run the application, use the command:

rosrun plotjuggler PlotJuggler  

If you like PlotJuggler...

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

If you use PlotJuggler at work, your company can become a sponsor and support the development of those specific features they need.

Contact me for more details.

Stargazers over time

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

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)

  • fix issue #253 and some cleanup
  • fix issue #254
  • Fix #251
  • Contributors: Davide Faconti

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at answers.ros.org

No version for distro eloquent. Known supported distros are highlighted in the buttons above.

plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

Tags No category tags.
Version 2.8.4
License LGPLv3
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/facontidavide/PlotJuggler.git
VCS Type git
VCS Version dashing
Last Updated 2020-09-17
Dev Status DEVELOPED
CI status No Continuous Integration
Released UNRELEASED
Package Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

ROS (Kinetic / Melodic) ROS2 (Eloquent) Windows (Mingw)
CI CI CI

Join the chat at https://gitter.im/PlotJuggler/Lobby Tweet

PlotJuggler 2.8.4

QT5 based application to display time series in plots, using an intuitive "drag and drop" interface.

It can be used either to:

  • load static data from file or
  • connect to live streaming of data.

Its functionality can be easily extended through plugins.

To understand what PlotJuggler can do for you, take a look to the following video PlotJuggler on Vimeo

PlotJuggler

Supported formats

Compute calculations and transform your data

It is now possible to create custom timeseries! Simply write your own JavaScript or Lua function and apply it to one of more existing timeseries.

Many thanks to @1r0b1n0, who developed the initial version of this feature, and to our first sponsor, a robotics company that made a donation, but prefers to remain anonymous for the time being.

Watch this video to learn how to use it.

Custom timeseries

"Download and Run"

For those of you that can't wait and want to get their hands dirty, you can download these binaries:

Linux with ROS plugins: PlotJuggler-Linux-ROS-2.8.4.AppImage.

Do not forget to make it executable with the command

chmod +x ./PlotJuggler-*-x86_64.AppImage

Windows Installer: PlotJuggler_WIN_Installer-2.8.4.exe.

How to build (without ROS plugins)

Clone the repository as usual:

  git clone 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 command:

sudo apt-get -y install qtbase5-dev libqt5svg5-dev qtdeclarative5-dev qtmultimedia5-dev libqt5multimedia5-plugins

On Fedora:

sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel qt5-qtmultimedia-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 or in /usr/local/lib/PlotJuggler/.

How to build (ROS/ROS2 users)

The easiest way to install PlotJuggler is through the command:

sudo apt-get install ros-${ROS_DISTRO}-plotjuggler 

Nevertheless, if you want to compile it from source, for instance to try the very latest version on the master branch, you must build PlotJuggler using either catkin or colcon, otherwise the ROS related plugins will not be included.

Compiling with catkin_tools:

mkdir -p ws_plotjuggler/src; cd ws_plotjuggler/src
git clone https://github.com/facontidavide/PlotJuggler.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
catkin build
source devel/setup.bash

You should see the following message at the beginning of the compilation step:

"PlotJuggler is being built using CATKIN. ROS plugins will be compiled"

Both the executable and the plugins will be created in ws_plotjuggler/devel/lib/plotjuggler.

To run the application, use the command:

rosrun plotjuggler PlotJuggler  

If you like PlotJuggler...

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

If you use PlotJuggler at work, your company can become a sponsor and support the development of those specific features they need.

Contact me for more details.

Stargazers over time

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

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)

  • fix issue #253 and some cleanup
  • fix issue #254
  • Fix #251
  • Contributors: Davide Faconti

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at answers.ros.org

plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

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

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

ROS (Kinetic / Melodic) ROS2 (Eloquent) Windows (Mingw)
CI CI CI

Join the chat at https://gitter.im/PlotJuggler/Lobby Tweet

PlotJuggler 2.8.4

QT5 based application to display time series in plots, using an intuitive "drag and drop" interface.

It can be used either to:

  • load static data from file or
  • connect to live streaming of data.

Its functionality can be easily extended through plugins.

To understand what PlotJuggler can do for you, take a look to the following video PlotJuggler on Vimeo

PlotJuggler

Supported formats

Compute calculations and transform your data

It is now possible to create custom timeseries! Simply write your own JavaScript or Lua function and apply it to one of more existing timeseries.

Many thanks to @1r0b1n0, who developed the initial version of this feature, and to our first sponsor, a robotics company that made a donation, but prefers to remain anonymous for the time being.

Watch this video to learn how to use it.

Custom timeseries

"Download and Run"

For those of you that can't wait and want to get their hands dirty, you can download these binaries:

Linux with ROS plugins: PlotJuggler-Linux-ROS-2.8.4.AppImage.

Do not forget to make it executable with the command

chmod +x ./PlotJuggler-*-x86_64.AppImage

Windows Installer: PlotJuggler_WIN_Installer-2.8.4.exe.

How to build (without ROS plugins)

Clone the repository as usual:

  git clone 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 command:

sudo apt-get -y install qtbase5-dev libqt5svg5-dev qtdeclarative5-dev qtmultimedia5-dev libqt5multimedia5-plugins

On Fedora:

sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel qt5-qtmultimedia-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 or in /usr/local/lib/PlotJuggler/.

How to build (ROS/ROS2 users)

The easiest way to install PlotJuggler is through the command:

sudo apt-get install ros-${ROS_DISTRO}-plotjuggler 

Nevertheless, if you want to compile it from source, for instance to try the very latest version on the master branch, you must build PlotJuggler using either catkin or colcon, otherwise the ROS related plugins will not be included.

Compiling with catkin_tools:

mkdir -p ws_plotjuggler/src; cd ws_plotjuggler/src
git clone https://github.com/facontidavide/PlotJuggler.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
catkin build
source devel/setup.bash

You should see the following message at the beginning of the compilation step:

"PlotJuggler is being built using CATKIN. ROS plugins will be compiled"

Both the executable and the plugins will be created in ws_plotjuggler/devel/lib/plotjuggler.

To run the application, use the command:

rosrun plotjuggler PlotJuggler  

If you like PlotJuggler...

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

If you use PlotJuggler at work, your company can become a sponsor and support the development of those specific features they need.

Contact me for more details.

Stargazers over time

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

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)

  • fix issue #253 and some cleanup
  • fix issue #254
  • Fix #251
  • Contributors: Davide Faconti

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at answers.ros.org

plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

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

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

ROS (Kinetic / Melodic) ROS2 (Eloquent) Windows (Mingw)
CI CI CI

Join the chat at https://gitter.im/PlotJuggler/Lobby Tweet

PlotJuggler 2.8.4

QT5 based application to display time series in plots, using an intuitive "drag and drop" interface.

It can be used either to:

  • load static data from file or
  • connect to live streaming of data.

Its functionality can be easily extended through plugins.

To understand what PlotJuggler can do for you, take a look to the following video PlotJuggler on Vimeo

PlotJuggler

Supported formats

Compute calculations and transform your data

It is now possible to create custom timeseries! Simply write your own JavaScript or Lua function and apply it to one of more existing timeseries.

Many thanks to @1r0b1n0, who developed the initial version of this feature, and to our first sponsor, a robotics company that made a donation, but prefers to remain anonymous for the time being.

Watch this video to learn how to use it.

Custom timeseries

"Download and Run"

For those of you that can't wait and want to get their hands dirty, you can download these binaries:

Linux with ROS plugins: PlotJuggler-Linux-ROS-2.8.4.AppImage.

Do not forget to make it executable with the command

chmod +x ./PlotJuggler-*-x86_64.AppImage

Windows Installer: PlotJuggler_WIN_Installer-2.8.4.exe.

How to build (without ROS plugins)

Clone the repository as usual:

  git clone 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 command:

sudo apt-get -y install qtbase5-dev libqt5svg5-dev qtdeclarative5-dev qtmultimedia5-dev libqt5multimedia5-plugins

On Fedora:

sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel qt5-qtmultimedia-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 or in /usr/local/lib/PlotJuggler/.

How to build (ROS/ROS2 users)

The easiest way to install PlotJuggler is through the command:

sudo apt-get install ros-${ROS_DISTRO}-plotjuggler 

Nevertheless, if you want to compile it from source, for instance to try the very latest version on the master branch, you must build PlotJuggler using either catkin or colcon, otherwise the ROS related plugins will not be included.

Compiling with catkin_tools:

mkdir -p ws_plotjuggler/src; cd ws_plotjuggler/src
git clone https://github.com/facontidavide/PlotJuggler.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
catkin build
source devel/setup.bash

You should see the following message at the beginning of the compilation step:

"PlotJuggler is being built using CATKIN. ROS plugins will be compiled"

Both the executable and the plugins will be created in ws_plotjuggler/devel/lib/plotjuggler.

To run the application, use the command:

rosrun plotjuggler PlotJuggler  

If you like PlotJuggler...

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

If you use PlotJuggler at work, your company can become a sponsor and support the development of those specific features they need.

Contact me for more details.

Stargazers over time

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

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)

  • fix issue #253 and some cleanup
  • fix issue #254
  • Fix #251
  • Contributors: Davide Faconti

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at answers.ros.org

plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

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

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

ROS (Kinetic / Melodic) ROS2 (Eloquent) Windows (Mingw)
CI CI CI

Join the chat at https://gitter.im/PlotJuggler/Lobby Tweet

PlotJuggler 2.8.4

QT5 based application to display time series in plots, using an intuitive "drag and drop" interface.

It can be used either to:

  • load static data from file or
  • connect to live streaming of data.

Its functionality can be easily extended through plugins.

To understand what PlotJuggler can do for you, take a look to the following video PlotJuggler on Vimeo

PlotJuggler

Supported formats

Compute calculations and transform your data

It is now possible to create custom timeseries! Simply write your own JavaScript or Lua function and apply it to one of more existing timeseries.

Many thanks to @1r0b1n0, who developed the initial version of this feature, and to our first sponsor, a robotics company that made a donation, but prefers to remain anonymous for the time being.

Watch this video to learn how to use it.

Custom timeseries

"Download and Run"

For those of you that can't wait and want to get their hands dirty, you can download these binaries:

Linux with ROS plugins: PlotJuggler-Linux-ROS-2.8.4.AppImage.

Do not forget to make it executable with the command

chmod +x ./PlotJuggler-*-x86_64.AppImage

Windows Installer: PlotJuggler_WIN_Installer-2.8.4.exe.

How to build (without ROS plugins)

Clone the repository as usual:

  git clone 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 command:

sudo apt-get -y install qtbase5-dev libqt5svg5-dev qtdeclarative5-dev qtmultimedia5-dev libqt5multimedia5-plugins

On Fedora:

sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel qt5-qtmultimedia-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 or in /usr/local/lib/PlotJuggler/.

How to build (ROS/ROS2 users)

The easiest way to install PlotJuggler is through the command:

sudo apt-get install ros-${ROS_DISTRO}-plotjuggler 

Nevertheless, if you want to compile it from source, for instance to try the very latest version on the master branch, you must build PlotJuggler using either catkin or colcon, otherwise the ROS related plugins will not be included.

Compiling with catkin_tools:

mkdir -p ws_plotjuggler/src; cd ws_plotjuggler/src
git clone https://github.com/facontidavide/PlotJuggler.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
catkin build
source devel/setup.bash

You should see the following message at the beginning of the compilation step:

"PlotJuggler is being built using CATKIN. ROS plugins will be compiled"

Both the executable and the plugins will be created in ws_plotjuggler/devel/lib/plotjuggler.

To run the application, use the command:

rosrun plotjuggler PlotJuggler  

If you like PlotJuggler...

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

If you use PlotJuggler at work, your company can become a sponsor and support the development of those specific features they need.

Contact me for more details.

Stargazers over time

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

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)

  • fix issue #253 and some cleanup
  • fix issue #254
  • Fix #251
  • Contributors: Davide Faconti

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at answers.ros.org

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.

plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

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

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

ROS (Kinetic / Melodic) ROS2 (Eloquent) Windows (Mingw)
CI CI CI

Join the chat at https://gitter.im/PlotJuggler/Lobby Tweet

PlotJuggler 2.8.4

QT5 based application to display time series in plots, using an intuitive "drag and drop" interface.

It can be used either to:

  • load static data from file or
  • connect to live streaming of data.

Its functionality can be easily extended through plugins.

To understand what PlotJuggler can do for you, take a look to the following video PlotJuggler on Vimeo

PlotJuggler

Supported formats

Compute calculations and transform your data

It is now possible to create custom timeseries! Simply write your own JavaScript or Lua function and apply it to one of more existing timeseries.

Many thanks to @1r0b1n0, who developed the initial version of this feature, and to our first sponsor, a robotics company that made a donation, but prefers to remain anonymous for the time being.

Watch this video to learn how to use it.

Custom timeseries

"Download and Run"

For those of you that can't wait and want to get their hands dirty, you can download these binaries:

Linux with ROS plugins: PlotJuggler-Linux-ROS-2.8.4.AppImage.

Do not forget to make it executable with the command

chmod +x ./PlotJuggler-*-x86_64.AppImage

Windows Installer: PlotJuggler_WIN_Installer-2.8.4.exe.

How to build (without ROS plugins)

Clone the repository as usual:

  git clone 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 command:

sudo apt-get -y install qtbase5-dev libqt5svg5-dev qtdeclarative5-dev qtmultimedia5-dev libqt5multimedia5-plugins

On Fedora:

sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel qt5-qtmultimedia-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 or in /usr/local/lib/PlotJuggler/.

How to build (ROS/ROS2 users)

The easiest way to install PlotJuggler is through the command:

sudo apt-get install ros-${ROS_DISTRO}-plotjuggler 

Nevertheless, if you want to compile it from source, for instance to try the very latest version on the master branch, you must build PlotJuggler using either catkin or colcon, otherwise the ROS related plugins will not be included.

Compiling with catkin_tools:

mkdir -p ws_plotjuggler/src; cd ws_plotjuggler/src
git clone https://github.com/facontidavide/PlotJuggler.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
catkin build
source devel/setup.bash

You should see the following message at the beginning of the compilation step:

"PlotJuggler is being built using CATKIN. ROS plugins will be compiled"

Both the executable and the plugins will be created in ws_plotjuggler/devel/lib/plotjuggler.

To run the application, use the command:

rosrun plotjuggler PlotJuggler  

If you like PlotJuggler...

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

If you use PlotJuggler at work, your company can become a sponsor and support the development of those specific features they need.

Contact me for more details.

Stargazers over time

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

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)

  • fix issue #253 and some cleanup
  • fix issue #254
  • Fix #251
  • Contributors: Davide Faconti

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at answers.ros.org

plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

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

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

ROS (Kinetic / Melodic) ROS2 (Eloquent) Windows (Mingw)
CI CI CI

Join the chat at https://gitter.im/PlotJuggler/Lobby Tweet

PlotJuggler 2.8.4

QT5 based application to display time series in plots, using an intuitive "drag and drop" interface.

It can be used either to:

  • load static data from file or
  • connect to live streaming of data.

Its functionality can be easily extended through plugins.

To understand what PlotJuggler can do for you, take a look to the following video PlotJuggler on Vimeo

PlotJuggler

Supported formats

Compute calculations and transform your data

It is now possible to create custom timeseries! Simply write your own JavaScript or Lua function and apply it to one of more existing timeseries.

Many thanks to @1r0b1n0, who developed the initial version of this feature, and to our first sponsor, a robotics company that made a donation, but prefers to remain anonymous for the time being.

Watch this video to learn how to use it.

Custom timeseries

"Download and Run"

For those of you that can't wait and want to get their hands dirty, you can download these binaries:

Linux with ROS plugins: PlotJuggler-Linux-ROS-2.8.4.AppImage.

Do not forget to make it executable with the command

chmod +x ./PlotJuggler-*-x86_64.AppImage

Windows Installer: PlotJuggler_WIN_Installer-2.8.4.exe.

How to build (without ROS plugins)

Clone the repository as usual:

  git clone 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 command:

sudo apt-get -y install qtbase5-dev libqt5svg5-dev qtdeclarative5-dev qtmultimedia5-dev libqt5multimedia5-plugins

On Fedora:

sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel qt5-qtmultimedia-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 or in /usr/local/lib/PlotJuggler/.

How to build (ROS/ROS2 users)

The easiest way to install PlotJuggler is through the command:

sudo apt-get install ros-${ROS_DISTRO}-plotjuggler 

Nevertheless, if you want to compile it from source, for instance to try the very latest version on the master branch, you must build PlotJuggler using either catkin or colcon, otherwise the ROS related plugins will not be included.

Compiling with catkin_tools:

mkdir -p ws_plotjuggler/src; cd ws_plotjuggler/src
git clone https://github.com/facontidavide/PlotJuggler.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
catkin build
source devel/setup.bash

You should see the following message at the beginning of the compilation step:

"PlotJuggler is being built using CATKIN. ROS plugins will be compiled"

Both the executable and the plugins will be created in ws_plotjuggler/devel/lib/plotjuggler.

To run the application, use the command:

rosrun plotjuggler PlotJuggler  

If you like PlotJuggler...

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

If you use PlotJuggler at work, your company can become a sponsor and support the development of those specific features they need.

Contact me for more details.

Stargazers over time

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

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)

  • fix issue #253 and some cleanup
  • fix issue #254
  • Fix #251
  • Contributors: Davide Faconti

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at answers.ros.org

plotjuggler package from plotjuggler repo

plotjuggler

Package Summary

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

Package Description

PlotJuggler: juggle with data

Additional Links

Maintainers

  • Davide Faconti

Authors

  • Davide Faconti

PlotJuggler

ROS (Kinetic / Melodic) ROS2 (Eloquent) Windows (Mingw)
CI CI CI

Join the chat at https://gitter.im/PlotJuggler/Lobby Tweet

PlotJuggler 2.8.4

QT5 based application to display time series in plots, using an intuitive "drag and drop" interface.

It can be used either to:

  • load static data from file or
  • connect to live streaming of data.

Its functionality can be easily extended through plugins.

To understand what PlotJuggler can do for you, take a look to the following video PlotJuggler on Vimeo

PlotJuggler

Supported formats

Compute calculations and transform your data

It is now possible to create custom timeseries! Simply write your own JavaScript or Lua function and apply it to one of more existing timeseries.

Many thanks to @1r0b1n0, who developed the initial version of this feature, and to our first sponsor, a robotics company that made a donation, but prefers to remain anonymous for the time being.

Watch this video to learn how to use it.

Custom timeseries

"Download and Run"

For those of you that can't wait and want to get their hands dirty, you can download these binaries:

Linux with ROS plugins: PlotJuggler-Linux-ROS-2.8.4.AppImage.

Do not forget to make it executable with the command

chmod +x ./PlotJuggler-*-x86_64.AppImage

Windows Installer: PlotJuggler_WIN_Installer-2.8.4.exe.

How to build (without ROS plugins)

Clone the repository as usual:

  git clone 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 command:

sudo apt-get -y install qtbase5-dev libqt5svg5-dev qtdeclarative5-dev qtmultimedia5-dev libqt5multimedia5-plugins

On Fedora:

sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel qt5-qtmultimedia-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 or in /usr/local/lib/PlotJuggler/.

How to build (ROS/ROS2 users)

The easiest way to install PlotJuggler is through the command:

sudo apt-get install ros-${ROS_DISTRO}-plotjuggler 

Nevertheless, if you want to compile it from source, for instance to try the very latest version on the master branch, you must build PlotJuggler using either catkin or colcon, otherwise the ROS related plugins will not be included.

Compiling with catkin_tools:

mkdir -p ws_plotjuggler/src; cd ws_plotjuggler/src
git clone https://github.com/facontidavide/PlotJuggler.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
catkin build
source devel/setup.bash

You should see the following message at the beginning of the compilation step:

"PlotJuggler is being built using CATKIN. ROS plugins will be compiled"

Both the executable and the plugins will be created in ws_plotjuggler/devel/lib/plotjuggler.

To run the application, use the command:

rosrun plotjuggler PlotJuggler  

If you like PlotJuggler...

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

If you use PlotJuggler at work, your company can become a sponsor and support the development of those specific features they need.

Contact me for more details.

Stargazers over time

Stargazers over time

CHANGELOG

Changelog for package plotjuggler

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)

  • fix issue #253 and some cleanup
  • fix issue #254
  • Fix #251
  • Contributors: Davide Faconti

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged plotjuggler at answers.ros.org

No version for distro hydro. Known supported distros are highlighted in the buttons above.