cmu-delphi / www-epivis

An interactive tool for visualizing epidemiological time-series data.
http://delphi.cmu.edu/epivis/
MIT License
1 stars 3 forks source link

Make "Scale by 1/mean" toggleable #46

Closed melange396 closed 3 weeks ago

melange396 commented 1 month ago

There is a "Scale by 1/mean" button in epivis (it has an icon that looks like an anchor). It is useful for visually comparing signals with differing magnitudes by bringing them into a more similar range. However, it is something of a destructive action in that it cannot be undone (to recover the original signal, the user would need to re-import the signal). I think (but havent verified) that this is because it rewrites the series with the new scaled values. It would be nice to make this a "toggle" that can be switched on and off.

rzats commented 1 month ago

@melange396 there is already a button that does this ("Reset DataSet scaling", in the same group two buttons to the right). Since these buttons aren't close by and have different icons, this is not very intuitive - that should definitely be changed.

Under the hood both of these options change some scaling parameters in a dataset object; the original data is preserved and can be easily recovered.

If you'd like, this can be changed to a single toggle button: if it's enabled, all signals will be scaled; if it's disabled, no signals will be modified. This does lose a bit of flexibility, as it will no longer be possible to scale only certain signals while keeping others as-is.

melange396 commented 1 month ago

Ah, nice find. Its such a non-obvious button that i either forgot about it or never quite realized it was there in the first place!

I think the toggle makes sense, especially because the interaction path to get both scaled signals and unscaled signals involves a complicated/convoluted/unintuitive set of steps... But since that other button already exists, lets keep that flexible functionality and add some affordance by just moving the "Scale by 1/mean" and "Reset DataSet Scaling" buttons into a block of their own, apart from the other button blocks.