dkogan/feedgnuplot

Support for milliseconds in timefmt missing

MatthiasScholz opened this issue · 6 comments

The following time format is not usable with feedgnuplot, but it is fully compatible with gnuplot:
--timefmt '%H:%M:%3.S' for time like this: 16:02:54.672

The perl script terminates because Time::Piece does not support millisecond in the time formats:
http://stackoverflow.com/questions/4012068/how-do-i-parse-microseconds-with-timepiece-strptime

Yes, this is a know issue unfortunately. Do you know of a perl strptime() implementation that can do sub-second precision?

No, unfortunately I am not at all a perl programmer. But at the link it is mentioned to use DateTime::....::strptime. Would it not be easy to adapt to this why of the format description?

OK, so your time format is not supported by gnuplot or anything else. If you get rid of the "3." then gnuplot can ingest it, but Time::Piece and DateTime::Format::Strptime doesn't take the floating-point value. I have some other ideas, but won't get to them today.

Gnuplot itself has no problem with working with this time format.

For the given time: 16:02:54.672 one just needs to configure: 
set timefmt '%H:%M:%S'
set format x '%H:%M:%.3S'

http://stackoverflow.com/a/18825927

I'm having this problem. My input comes from moreutils ts with the format %.s (sub-second resolution epoch, looks like 1533312748.419280)

Do you know a solution?

This is non-standard, and all components would need to be able to work with such nonstandard data. The sticking point currently is Time::Piece and DateTime::Format::Strptime. You can send them patches. I don't have time to work on this right now, unfortunately.