michaeldmoore / michaeldmoore-scatter-panel

A simple scatter-plot plugin panel table formatted data in Grafana using the react panel template
Apache License 2.0
13 stars 0 forks source link

Feature Request: Multiple datasets in a single panel that don't share x-value #41

Open ceramgcf opened 1 year ago

ceramgcf commented 1 year ago

Hi Michael,

I really like your plugin as it provides a really simple way to create scatter plots with regression functions, which comes in handy for technical correlation analysis.

However, the table format you expect for displaying multiple datasets - like in your example: boys and girls - is quite uncommon. Most (x,y) datasets will not share a common x and not only differ in y. However, this type is the only one that can be used to display multiple datasets in one panel.

Let me give you anexample of data I'd like to display. For a few years I've been logging each days average temperature and the energy I need to heat my house. After each heating period I fine-tune my heating to be more energy-efficient. So i'd like to display each heating period as a distinct dataset (with its own regression function) in separate colors.

The table would look like this:

Period Temp x Energy y 1 10.5 15.2 1 11 14.9 1 11 14.7 2 9 20 2 9 18.8 2 9.3 17.6

I'd be so thankful if you could add some functionality like this in some upcoming version.

Yours

ceram

michaeldmoore commented 1 year ago

I think I see what you mean. Your data is arranged as a single stream of space delimited triplets, right? With the first set being the field titles (though the spaces in 'Temp x' and 'Energy y' make things a bit complicated)

As it is, I don't see how to make something general purpose enough to be worth all the effort. On the other hand, I think you might be able to re-arrange the data to make it work using the current version as-is. Taking advantage of the fact that null data doesn't get plotted, you could rearrange the data like this:

Temp Energy1 Energy2 10.5 15.2 null 11 14.9 null 11 14.7 null 9 null 20 9 null 18.8 9.3 null 17.6

This could be extended to any number of data sets - each with a uniquely named field header (this part is important)

What do you think? If you're doing this on a linux system, you might be able to write a simple awk script to translate your data set for you (I'm not an awk user so don't ask me how). Or a simple bit of python - that might be easier.

Good luck.

Oh - and also, take a look at the XYChart panel that Grafana added a few versions ago. It looks really sexy and probably has a lot of features that Scatter doesn't (I wrote scatter a long time before Grafana wrote XYChart). Not sure how customizable it is though. Worth a look anyway.

On Wed, 7 Dec 2022 at 22:14, ceramgcf @.***> wrote:

Hi Michael,

I really like your plugin as it provides a really simple way to create scatter plots with regression functions, which comes in handy for technical correlation analysis.

However, the table format you expect for displaying multiple datasets - like in your example: boys and girls - is quite uncommon. Most (x,y) datasets will not share a common x and not only differ in y. However, this type is the only one that can be used to display multiple datasets in one panel.

Let me give you anexample of data I'd like to display. For a few years I've been logging each days average temperature and the energy I need to heat my house. After each heating period I fine-tune my heating to be more energy-efficient. So i'd like to display each heating period as a distinct dataset (with its own regression function) in separate colors.

The table would look like this:

Period Temp x Energy y 1 10.5 15.2 1 11 14.9 1 11 14.7 2 9 20 2 9 18.8 2 9.3 17.6

I'd be so thankful if you could add some functionality like this in some upcoming version.

Yours

ceram

— Reply to this email directly, view it on GitHub https://github.com/michaeldmoore/michaeldmoore-scatter-panel/issues/41, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA4NLLSTU3P2BHAFLYKBY7TWMD43ZANCNFSM6AAAAAASXJ6ODY . You are receiving this because you are subscribed to this thread.Message ID: @.***>