Comments (10)
That of course vould be easier. and useful for some users. But I would like to create CSV files that PlotJuggler itself can open.
Anyway, good timing, because I am currently working on this (a sponsor is paying for this feature).
Stay tuned...
from plotjuggler.
Done
from plotjuggler.
@facontidavide you don't have to boil the ocean. I did not underestimate anything. I proposed that you don't try to make a sparse matrix. You don't need to create a column for every attribute in the plot. Make 3 columns: attribute_name, value, and timestamp. Every row is then a single sample of a single attribute.
Then a user can groupby the attribute they want, resample as they wish and combine attributes into a single table. I can do all of this in python and pandas in 5 minutes.
from plotjuggler.
It sounds like a very nice feature to have. I will work on it in my spare time. Thanks for the suggestion
from plotjuggler.
I also find that this feature could be useful but I am not sure if it is best to only save the data in the current plot (closer to the current "Save plot to file" option) or save the all the loaded timeseries, including the custom ones, or the one filtered by the top left filter?
I ask this question here to help anyone wanting to implement such feature.
from plotjuggler.
Don't keep your breath waiting for this feature, since it is at the bottom of my priorities right now...
Unless someone wants to sponsor or contribute with code to this feature.
The main reason is that it is not as trivial as it looks like since CSV works best when all the series share the same time axis (same amount of points).
This is not the case in general. There are solutions of course, but it takes an amount of time that I prefer to work on other features.
from plotjuggler.
Ok, I see the point.
Thanks for the details.
from plotjuggler.
Maybe the approach taken in https://github.com/AtsushiSakai/rosbag_to_csv could be used - save each topic to its own CSV. That way, solving timestamp issues would be left to the user.
from plotjuggler.
csv with 3 columns: time, attribute_name, value
Load that bad-boy in any DataFrame package of your choice and do whatever you want.
from plotjuggler.
You are grossly inderestimating the complexity of this.
Creating one single CSV per topic is easy, but creating a single CSV for multiple topics is hard, because it is a "sparse" matrix, iw we use timestamp to describe a particular row of the CSV
from plotjuggler.
Related Issues (20)
- PlotJuggler 3.9.1 compile error on macOS 14.3.1 HOT 6
- webots_ros/Float64Stamped from webots causes 'Bad field when parsing field: \n' HOT 2
- It only recognizes the messages of ROS2 HOT 2
- Accessibility: Add option to use different line styles instead of just different colours
- Having trouble opening an mcap file created on Linux in PlotJuggler for Windows? HOT 1
- Compile problem with macOS 14.4.1: error: only virtual member functions can be marked 'override' const std::string& message) override; HOT 5
- Custom series with sqrt not working HOT 1
- Don't filter custom series
- ULog link in README is broken
- Issue with --buffer_size on Ubuntu 20.04 with PlotJuggler-3 v3.9.1 HOT 1
- Misalignment in Time Series Data Due to Differing Trajectory Sizes with reactive scripts HOT 2
- set x axis step size HOT 2
- 3.9.2 binaries?
- Cannot open .BIN file because of toLower() HOT 2
- What functions does PlotJuggler use to load a ULG file and to save CSVs
- Conan compile instructions for Windows are wrong HOT 1
- how to modify code to change dots size HOT 1
- Allow plotted line width to be set
- ros-rolling-plotjuggler-ros package not available for last month HOT 1
- Load a directory tree with csv files
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plotjuggler.