lognplot icon indicating copy to clipboard operation
lognplot copied to clipboard

Support for mixed-signal plotting?

Open TimonTerBraak opened this issue 5 years ago • 3 comments

I read through the list of related tools in the README. Since this is still low-profile, I take the liberty of writing down 2 feature request / wishes. Those are the things that at least partially lack in either one of the tools mentioned.

  • mixed-signal support; gtkwave to some extend can plot both digital and analog signals, but has poor support of handling the analog signals
  • math operations; this will likely hurt performance, and I am not sure if it combines well with the massive-data-support already built-in. But, in practice it is very useful to apply some math operation to the signal before plotting; either scaling the (analog) signal, or masking (bits) of a digital signal.

Maybe there is a better way to gather feature requests?

TimonTerBraak avatar Jan 02 '20 19:01 TimonTerBraak

Feature requests are welcome! Perhaps the best way would be to create a seperate issue per feature request, and then we can discuss whether it can be added or not? You can also implement the feature yourself if you wish :)

windelbouwman avatar Jan 02 '20 20:01 windelbouwman

I have been thinking about the best visual representation of putting more stuff in a single plot. I think this is context-dependent. Hence, the handling in mixed-signal oscilloscopes converges towards something like: https://rtelecom.net/userfiles/productlargeimages/product_1953.jpg

Therefore, I think it would be silly to invent a complete new way in the hopes that it would be any better. Given the current state of lognplot, we then need the following:

  • add a new mime-type for digital (bit-oriented) signals, 'register' perhaps?
  • be able to display signals of different (mime-) types into a single plot,
  • as we are plotting time-series, have a single (horizontal) time axis, but multiple (virtual) vertical axis, one per plotted signal,
  • maybe split the legend into multiple handles drawn left of the vertical axis, as handles to the plotted signal. This could at the same time serve as an anchor to select (options for) the corresponding signal and show the corresponding vertical axis upon selection.

Maybe ambitious, but what do you think. Is this a direction you like lognplot to go?

TimonTerBraak avatar Jan 04 '20 20:01 TimonTerBraak

Now, there are multiple widgets, one per mime-type. The dashboard creates a widget depending on the mime-type of the dropped item. I would suggest to create a family (classes) of curves instead, such that the drawing routine can be specialized per type of curve. In render/chart.py there already is a hidden specialization for Aggregations.

TimonTerBraak avatar Jan 13 '20 21:01 TimonTerBraak