Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
PlotJuggler 3: fast and intuitive time series visualization (github.com/facontidavide)
259 points by facontidavide on Dec 9, 2020 | hide | past | favorite | 47 comments


cool!

another neat project based on Dear ImGui that i follow is https://github.com/epezent/implot.

i'm a bit of a timeseries enthusiast. if you need something for the web, check out https://github.com/leeoniya/uPlot

EDIT: sorry, didn't mean to highjack the thread :(, all glory to /u/facontidavide!


I remember you and uPlot from an earlier post :) I'm happy to see you're continuing to improve it!

I made www.csvplot.com (on top of Plotly.js). I vaguely remember discussing using uPlot, but lack of a scatter plot stopped me back when.

EDIT: I just tested uPlot again, it's so fast and smooth!


hey, i remember csvplot. scatter is definitely coming at some point in the next few months. i have an old bitrotted prototype branch hanging around that'll have to be dusted off.

> I remember you and uPlot from an earlier post :) I'm happy to see you're continuing to improve it!

a lot has happened since then. i'm now at Grafana, where uPlot will power many core visualizations in upcoming releases :)


Happy to hear that. I looked up the scatter plot feature on Github Issues and I was wondering why there was links from Grafana issues in there. Now I know!


Thanks for sharing these links! The big difference is that PlotJuggler is a desktop application, not a library.


for sure, i was not suggesting these were alternatives. just dropping some links for those interested in timeseries plotting.


we got the best results from server side rendering graphs and just dynamically updating the front end with new images. Scrolling around, zooming etc is actually really snappy.


i believe it! certainly a viable option in many cases.

any public demo?


The fancy website: https://plotjuggler.io/


Just popping into say we love your behavior tree project, and are assessing it for some work projects. If we do we will definitely be sponsoring your work. Thanks for helping push the ROS ecosystem forward!!!


Get in touch, I will be happy to hear more about it :D


Hey just wanted to pop in and say that the project is great, and the code-base is really well structured and easy to follow. I dig the Lua plugin support via sol, too!


Very fancy website. Do you have fancy documentation? This looks really cool. I want to stream data via zmq in json format but i don't see any examples of what the json looks like.


In the app itself there is a visual "Cheatsheet", but this particular piece of information is not there.

Give it a try, it should be quite self explaining. If you have any issue, get in touch on Github Issues.


Thanks, will try.


I also want to say kudos, I am very impressed by your work!


I've been using PlotJuggler for a good couple of years now and it's one of the go to tools for debugging robotics systems for me. I'm sure it had saved me a good couple of days of my life!


I clicked on this link just out of curiosity but was delighted to see that it has support for PX4 ulog right out of the box! Pretty good chance this is going to become part of my daily workflow while working with autonomous drones!


May I ask what's the workflow like with this?


It’s quite simple with ROS - you open a bagfile or connect to ROS, select the topics of interest and then you can plot the values.

An example of the top of my head for debugging: the robot I was working with was not very eager to turn on the spot, by plotting commanded angular velocity vs angular speed from wheel odometry I was able to see that commanded velocity was fine and the issue was on the motor controller level.


This looks promising, but for the life of me I can't figure out how to get it to display a graph of some very basic data from a handcrafted csv file. Is there any documentation or examples?


Looks great! I have been using kst https://kst-plot.kde.org/ for almost a decade for plotting live csv data streams from place but plot juggler could be a total substitute. Thanks for sharing


I also used KST many years ago and it was surely a big source of inspiration, but I think that PlotJuggler offer a much more intuitive interface.

But of course I am biased, as author of PlotJuggler ;)


If you have experienced the power, capability, and speed of kst and then set out to build something better plotjuggler must be amazing!

I am not sure of the development status of kst these days I think it does everything’s it’s authors need it to do. Airbus may have moved on to an internal tool. The list is very quiet. So hopefully it doesn’t disappear but I will surely check out plotjuggler.

There may be a market for you to sell it to scada and HMI companies like Rockwell AVEVA Schneider etc since many of them have pretty old school built in plotting functionality


>Stargazers

Ha! I haven't seen that before. That's clever.

(sorry, I have no comment on the project itself - I don't do plotting-related work much at all)


This looks like an awesome tool, with a lot of neat features.

I went through some hoops to try and build it on my Mac, but apparently I don't have the patience to deal with compiler errors today.

I would have definitely started testing this tool if there was a DMG available.


PlotJuggler author here. I am sorry, but I had no opportunity/time to test it on Mac :(


No worries, just wanted to provide feedback. When I have been working on robotics, it's been Linux/Windows anyway.


PlotJuggler is amazing! Glad to see it on HN.

I use it for ulog analysis from the open source PX4 autopilot.


Any web equivalent of this? Wish it was a JS library so I could use it in my stuff!


Nice. Non-admin user install would be nice to have.


As a ROS (Robot Operating System) package, the convention is to build it in a workspace that you source the environment of afterward.

Edited to add the full name.


ROS is the Robot Operating System (https://www.ros.org) for those not keeping up with the latest acronyms...


Ah, sorry. It's been my career for the last ten years, so it's hardly "latest", but definitely still niche. Editing comment now.


An invaluable tool for analyzing data in robotics! Pretty much everyone I know who works with ROS has used PlotJuggler at least once.


Can we actually annotate or label data with it?


No. It is a tool to visualize one-dimensional time series.


It can also display 2-dimensional xy paths by selecting two data series.


Can you save worksheets for repeatable plots ?


Yes!

This is one of the key feature of PlotJuggler. They are called "layouts".


I use it at my job working with mobile robots it's incredibly powerful.


This is huge! Respect Captain ! Also the website looks cool.


The website indeed looks amazing! Somehow in my mind this was only for ROS... Is the support for MQTT and ZeroMQ something new?


The core of PlotJuggler is completely decoupled from ROS. ROS is supported only through optional plugins.

This means that you can easily extend the number of interfaces and protocols adding new plugins, as shown in version 3.


Thanks :D


Neat!

I know very little about licenses. This on is GPL4. Would this license support business use or even forks a hacker may want to create to play with?


In terms of License, it is actually LGPL-3.0 License, the same as Qt itself and some of the dependencies it uses.

This means that you can develop proprietary (closed source) plugins to create your own custom interfaces to parse data, if you want/need to.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: