GithubHelp home page GithubHelp logo

Comments (10)

facontidavide avatar facontidavide commented on August 25, 2024 21

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.

facontidavide avatar facontidavide commented on August 25, 2024 6

Done

from plotjuggler.

griffindore avatar griffindore commented on August 25, 2024 2

@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.

facontidavide avatar facontidavide commented on August 25, 2024

It sounds like a very nice feature to have. I will work on it in my spare time. Thanks for the suggestion

from plotjuggler.

romainreignier avatar romainreignier commented on August 25, 2024

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.

facontidavide avatar facontidavide commented on August 25, 2024

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.

romainreignier avatar romainreignier commented on August 25, 2024

Ok, I see the point.

Thanks for the details.

from plotjuggler.

peci1 avatar peci1 commented on August 25, 2024

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.

griffindore avatar griffindore commented on August 25, 2024

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.

facontidavide avatar facontidavide commented on August 25, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.