/PlotJuggler

The Time Series Visualization Tool that you deserve.

Primary LanguageC++GNU Lesser General Public License v3.0LGPL-3.0

PlotJuggler

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

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

PlotJuggler 2.8.3

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" (Ubuntu 16.04 Xenial or later)

For those of you that can't wait and want to get their hands dirty, just download the AppImage:

ROS1 only: PlotJuggler-2.7.x-x86_64.AppImage.

Do not forget to make it executable with the command

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

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